Fix CI Until Green
おすすめ手動実行継続的インテグレーション最大 8 ラウンド
Fix CI Until Green について
現在のブランチで失敗している CI 実行に対処する、手動起動のループです。各ラウンドで直近の失敗した実行を取得して原因を特定し、修正をプッシュしてから、最新の実行の結論を確認します。最大 8 ラウンドで終了します。
主な機能
- 01手動トリガー、最大 8 ラウンド
- 02gh run list が返す conclusion フィールドで成否を判定
- 03毎ラウンド、直近の失敗した実行から着手
- 04Cursor と Claude Code に対応
活用シーン
- 01依存関係の更新後にブランチの CI が失敗したとき
- 02リファクタリング後にビルドや lint のステップが失敗したとき
- 03メインブランチのマージ後に新たなパイプラインエラーが出たとき
- 目標
- 現在のブランチの最新の CI 実行が成功している。
- 終了条件
- 最新の実行の conclusion が success になった時点、または 8 ラウンドで成功しなかった時点で終了します。
- 各ラウンドの間に実行
- gh run list --branch $(git branch --show-current) --limit 1 --json conclusion -q '.[0].conclusion'
起動プロンプト
Cursor / Claude Code に貼り付けて実行すると、終了条件を満たすまでエージェントが以下の手順を繰り返します。
prompt.md
「Fix CI Until Green」ループを開始します。 目標:現在のブランチの最新の CI 実行が成功している。 最大ラウンド数:8。 ステップ 1:失敗した実行を取得 — 現在のブランチで直近に失敗した CI 実行を一覧し、どのジョブとステップが失敗したかを確認します。 `gh run list --branch $(git branch --show-current) --status failure --limit 1` ステップ 2:原因を特定して修正 — 失敗ログを読んで根本原因を突き止め、ローカルでコードを修正します。対象はその失敗に関係する箇所だけです。 ステップ 3:変更をプッシュ — 修正をコミットして現在のブランチにプッシュし、新しい CI 実行の完了を待ちます。 ステップ 4:プッシュ後に確認 — 最新の実行の conclusion を確認します。success ならループを終了し、そうでなければ次のラウンドに進みます。 `gh run list --branch $(git branch --show-current) --limit 1 --json conclusion -q '.[0].conclusion'` 各ラウンドの間に実行:`gh run list --branch $(git branch --show-current) --limit 1 --json conclusion -q '.[0].conclusion'` 終了条件:最新の実行の conclusion が success になった時点、または 8 ラウンドで成功しなかった時点で終了します。
手順
各ラウンドは順番に実行され、終了条件を満たさなければ次のラウンドへ進みます(最大 8 ラウンド)。
01
失敗した実行を取得
現在のブランチで直近に失敗した CI 実行を一覧し、どのジョブとステップが失敗したかを確認します。
$
gh run list --branch $(git branch --show-current) --status failure --limit 102
原因を特定して修正
失敗ログを読んで根本原因を突き止め、ローカルでコードを修正します。対象はその失敗に関係する箇所だけです。
03
変更をプッシュ
修正をコミットして現在のブランチにプッシュし、新しい CI 実行の完了を待ちます。
04
プッシュ後に確認
最新の実行の conclusion を確認します。success ならループを終了し、そうでなければ次のラウンドに進みます。
$
gh run list --branch $(git branch --show-current) --limit 1 --json conclusion -q '.[0].conclusion'未達 → 次のラウンド条件を満たせば終了
対応エージェント
この Loop をそのまま実行できるコーディングエージェントです。
Cursor
Claude Code
コメント
Markdown 対応