mcpField
T
testing-ci

testing-ci

github.com/alphaonedevテスト・品質41 回インストール
リポジトリ

testing-ci について

testing-ciは、GitHub Actionsのテストパイプラインを設定・運用するスキルです。テストの並列分割、不安定なテストの隔離、レポート生成、カバレッジ基準の適用に対応します。

主な機能

  1. 01テストの並列分割を設定
  2. 02不安定なテストの隔離と再実行
  3. 03JUnit 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 を設定または最適化するとき、特に大規模なテストスイート(例:1,000 件超)を持つプロジェクトで、並列分割によって実行時間を短縮する際に使用します。不安定な環境での不安定なテストの管理や、マージ前のカバレッジチェックの導入にも適用できます。

主な機能

  • 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
    
  • コードスニペット(不安定なテストを処理するシェルスクリプト):
    if grep -q "flaky" junit.xml; then
      openclaw testing-ci quarantine --file junit.xml
    fi
    

統合に関する注意

API 呼び出し用の個人用アクセストークンを $GITHUB_TOKEN に設定して、GitHub と連携します。JUnit/Allure レポートを使用する場合は、ワークフローで XML ファイルを出力し、GitHub Actions のアーティファクトとしてアップロードするようにしてください。ワークフロー 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」とグループ化)。

コメント