コード カバレッジに自動セットアップを使用すると、AI を利用したエージェントによってリポジトリが分析され、テスト フレームワークが識別され、レビューの準備が整ったカバレッジ ワークフローを含むプル要求が開きます。
この機能を使用するための追加コストはありません。
エージェントのしくみ
エージェントは次の 3 つのフェーズで動作します。
- 発見: エージェントは CI 構成、ドキュメント、ビルド ファイルを読み取り、プロジェクト構造を理解し、テスト フレームワークを識別します。
- 実行: エージェントは依存関係をインストールし、プロジェクトをビルドし、カバレッジを有効にしてテストを実行します。 カバレッジ ツールがまだ構成されていない場合、エージェントによってプロジェクト構成に追加されます (たとえば、
vitest.config.tsやjest.config.js)。 - ワークフローの統合: エージェントが有効なカバレッジ レポートを生成した場合、リポジトリにプル要求に対してテストを実行する GitHub Actions ワークフローが既に存在するかどうかを確認します。 その場合、エージェントはそのワークフローをカバレッジアップロードステップで拡張します。 作成されていない場合は、新しいワークフロー ファイルが作成され、プル要求が開きます。
エージェントが停止したとき
エージェントは、次の状況で pull request を開く前に停止することがあります。
- テストが見つかりません。 エージェントはインストルメント化するテストを見つけられなかったので、カバレッジを生成するものはありません。
- ビルドを再現できません。 プライベート レジストリ、専用 SDK、またはシステムの依存関係が見つからないと、エージェントがテスト スイートを検証できなくなります。
エージェントが停止するか、予期しない結果が生成された場合は、エージェントのセッション ログで詳細を確認できます。 リポジトリの [ タスク ] タブに移動して、ワークフロー生成の試行に関連付けられているセッションを見つけます。
- サポートされていないカバレッジ レポートの変換。 エージェントは、集計されたカウンターのみを公開するレポートから Cobertura XML を再構築しません。 たとえば、JaCoCo XML には信頼できる Cobertura アップロード用の十分な行と分岐構造が含まれていないため、JaCoCo XML のみを生成する JVM プロジェクトでは、代わりに手動セットアップが必要になる場合があります。
Pull request の結果
メモ
エージェントは、コードの変更を含まない初期計画コミットでプル要求を直ちに開きます。 実際の実装コミットは、通常、数分後に到着します。 pull request に最初に 0 個の変更されたファイルが表示される場合は、数分待ってからページを更新します。
エージェントがプル要求を正常に開いた場合、pull request は次のいずれかの状態になる可能性があります。
- マージ可能な as-is: ワークフローは CI で正常に完了し、カバレッジが正しくアップロードされます。
- 反復処理の準備完了: ワークフローは実行されますが、調整が必要です (シークレットの不足、セルフホステッド ランナーの構成、ローカル検証と CI のパスの違いなど)。
- 参照として役立ちます。 メンテナーは、検出されたビルド コマンドとテスト コマンドの開始点としてエージェントのプル要求を使用して、カバレッジ自体を構成することを好む場合があります。