mcpField
T
testing-ci

testing-ci

github.com/alphaonedev测试与质量41 次安装
代码仓库

关于 testing-ci

testing-ci 是用于配置和运行 GitHub Actions 测试流水线的技能,面向维护仓库 CI 的团队。它支持并行拆分测试、隔离不稳定测试、生成报告及设置覆盖率门槛。

主要功能

  1. 01配置并行测试拆分
  2. 02隔离并重跑不稳定测试
  3. 03生成 JUnit XML 或 Allure 报告
  4. 04执行覆盖率门槛检查
  5. 05触发工作流并检查状态

适用场景

  1. 01加快大型测试套件的 CI
  2. 02在运行失败后隔离不稳定测试
  3. 03覆盖率低于目标时阻止合并

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill testing-ci

安装后在 Claude Code 中输入/testing-ci确认已加载。

详细介绍

testing-ci

用途

此技能通过 GitHub Actions 自动化 CI/CD 流水线,重点关注测试工作流。它可处理并行测试执行、隔离不稳定测试、生成 JUnit XML 或 Allure 格式的报告,并强制执行覆盖率门槛,以确保代码库中的代码质量。

适用场景

在设置或优化 GitHub 代码库的 CI 时使用此技能,尤其适用于测试套件规模较大的项目(例如,超过 1000 个测试),可通过并行分片缩短运行时间。在不稳定的环境中管理不稳定测试,或在合并前集成覆盖率检查时,也可使用此技能。

主要功能

  • 使用 YAML 中的 matrix 策略配置带并行分片的 GitHub Actions 工作流。
  • 通过在报告中标记不稳定测试并自动重新运行部分测试来隔离这些测试。
  • 使用 junit-report 或 Allure 等工具生成 JUnit XML 报告,以便详细了解测试情况。
  • 使用 Codecov 等工具强制执行覆盖率门槛(例如,行覆盖率超过 80%)。
  • 与 GitHub API 集成,以触发工作流并检查状态;需要通过 $GITHUB_TOKEN 进行身份验证。

使用模式

通过以 openclaw testing-ci 为前缀的 OpenClaw CLI 命令调用此技能。对于 API 用法,向 OpenClaw 端点发送请求(例如,POST /api/skills/testing-ci)。在代码中,可通过检查技能 ID 并传递工作流名称或测试分片等参数,将其嵌入脚本。执行前务必为 $GITHUB_TOKEN 等机密设置环境变量。对于并行测试,请在工作流 YAML 中定义分片,并以编程方式触发运行。

常用命令/API

  • CLI:使用并行分片运行工作流:openclaw testing-ci run --workflow my-repo/tests.yml --parallel 4 --token $GITHUB_TOKEN
  • CLI:隔离不稳定测试:openclaw testing-ci quarantine --pattern "flaky-*" --report junit.xml
  • API:创建工作流:POST /api/skills/testing-ci/workflows,请求 JSON 正文为:{"name": "build", "matrix": {"shards": [1,2,3,4]}}
  • API:获取覆盖率报告:GET /api/skills/testing-ci/coverage?gate=80
  • 代码片段(GitHub Actions 的 YAML 配置):
    jobs:
      test:
        strategy:
          matrix:
            shard: [1, 2, 3, 4]
        run: npm test --shard=${{ matrix.shard }}/4
    
  • 代码片段(处理不稳定测试的 Shell 脚本):
    if grep -q "flaky" junit.xml; then
      openclaw testing-ci quarantine --file junit.xml
    fi
    

集成说明

通过在 $GITHUB_TOKEN 中提供个人访问令牌来与 GitHub 集成,以便调用 API。对于 JUnit/Allure 报告,请确保工作流输出 XML 文件,并通过 GitHub Actions artifacts 上传这些文件。要使用并行分片,请在工作流 YAML 中定义矩阵,然后通过 OpenClaw 触发:openclaw testing-ci dispatch --repo owner/repo --ref main。对于覆盖率门槛,可在工作流中添加一个步骤,以集成 Codecov 等服务:curl -Os codecov.io/bash && bash codecov -t $CODECOV_TOKEN。务必验证输入,避免出错,例如检查是否已设置 $GITHUB_TOKEN。

错误处理

通过检查脚本中的退出代码来处理工作流失败(例如,如果 $? != 0,则使用 openclaw testing-ci rerun --workflow ID 重试)。对于 API 错误,请解析响应中的状态码(例如,401 表示身份验证问题,可通过验证 $GITHUB_TOKEN 解决)。并行运行时,使用分片隔离故障;隔离不稳定测试以避免误报。常见问题:YAML 语法无效——运行前使用 yamllint 验证;覆盖率门槛未通过——通过 --gate 75 等配置标志调整阈值。

具体用法示例

  1. 为 Node.js 代码库设置并行 CI:创建工作流文件,然后运行:openclaw testing-ci run --workflow .github/workflows/tests.yml --parallel 4 --token $GITHUB_TOKEN。此命令会将测试分配到 4 个运行器上,将执行时间从 10 分钟缩短到 3 分钟,并生成 JUnit 报告以供分析。
  2. 隔离并报告不稳定测试:运行失败后,执行:openclaw testing-ci quarantine --report allure-results.xml --pattern "test_flaky_*"。此命令会隔离不稳定测试、重新运行这些测试,并将 Allure 报告集成到 GitHub 工作流中,以便进行可视化调试。

图关系

  • 关联集群:“testing”(例如,链接到“unit-testing”等技能,以深入实现测试)。
  • 标签:“ci-cd”(关联“deployment”技能)、“github-actions”(与“repo-management”集成)、“parallel”(与“scalability”工具共享)、“flaky”(链接到“error-analysis”)、“testing”(与“test-automation”归为一组)。

评论

支持 Markdown