testing-ci について
testing-ciは、GitHub Actionsのテストパイプラインを設定・運用するスキルです。テストの並列分割、不安定なテストの隔離、レポート生成、カバレッジ基準の適用に対応します。
主な機能
- 01テストの並列分割を設定
- 02不安定なテストの隔離と再実行
- 03JUnit XMLまたはAllureレポートの生成
- 04カバレッジ基準の適用
- 05ワークフローの実行と状態確認
活用シーン
- 01大規模なテストスイートのCI短縮
- 02失敗後に不安定なテストを切り分け
- 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 などの設定フラグでしきい値を調整します。
具体的な使用例
- Node.js リポジトリで並列 CI を設定する:ワークフローファイルを作成し、次を実行します:
openclaw testing-ci run --workflow .github/workflows/tests.yml --parallel 4 --token $GITHUB_TOKEN。これにより、テストが 4 台のランナーに分割され、実行時間が 10 分から 3 分に短縮され、分析用の JUnit レポートが生成されます。 - 不安定なテストを隔離してレポートを生成する:実行に失敗した後、次を実行します:
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」とグループ化)。