手順
このチェックリストをコピーし、進行状況の追跡に使用してください:
タスク進捗:
- • ステップ1:プルリクエストの番号を特定する
- • ステップ2:PRブランチがベースブランチより遅れていないか確認する
- • ステップ3:CIの終了を待機する
- • ステップ4:CIの結果を詳細に把握する
- • ステップ5:レビューコメントを把握する
- • ステップ6:承認済み・outdated対応済みスレッドのresolveを行う
- • ステップ7:方針に従って対応を行う
- • ステップ8:完了条件を満たしているか確認する
- • ステップ9:Issueとの紐付けを確認する
- • ステップ10:マージ前にbehind状態を再確認する
- • ステップ11:PRのマージを行う
- •プルリクエストの番号を特定する。
- •
githubスキルを参照し、現在のブランチからPR番号を取得する。 - •PRが存在しない場合はユーザーに報告し、作業を中断する。
- •
- •PRブランチがベースブランチより遅れていないか確認する。
- •
githubスキルを使用してPRの状態を確認し、behind状態かどうかを把握する。 - •遅れている場合、ベースブランチをマージする。
- •
- •CIの終了を待機する。
- •
githubスキル(pr-checks-watch.sh)を使用してPRの全チェックが完了するまで待機する。
- •
- •
githubスキルを使用してCIの結果を確認する。- •一時的な問題(インフラ障害、flaky test等)の場合は
gh run rerun <run-id>で再実行し、手順3に戻る。同一ワークフローの再実行は最大2回まで。 - •コード修正が必要な場合は、対応方針を決めて手順7で修正する。
- •一時的な問題(インフラ障害、flaky test等)の場合は
- •
githubスキルを使用してレビューコメントを把握し、対応方針を決める。- •改修提案かつ対応が必要: コード修正と返信
- •改修提案かつ対応が不要: 理由を添えて返信
- •対応内容が承認された: Resolve
- •IsOutdated=true かつ対応済み(コード修正・返信完了): Resolve
- •botレビュアーからのコメントかつ改修提案への対応済み(コード修正・返信完了): Resolve
- •承認済みスレッド、outdated対応済みスレッド、およびbot対応済みスレッドを resolve する。
- •手順4と5で決めた方針に従って対応を行う。
- •CI失敗への対応とレビューコメントへのコード修正をまとめて行い、コミット・プッシュする。
- •各レビューコメントスレッドへ返信を行う。
- •完了条件を満たしているか確認する。
- •CIが未完了の場合は
githubスキル(pr-checks-watch.sh)を使用してCIの完了を待機してから手順2に戻る。 - •その他の条件を満たしていない場合は未完了の条件をユーザーに報告し、30秒待機してから手順2に戻る。
- •手順2からの再実施は最大10回まで。10回を超えた場合はユーザーに報告し、作業を中断する。
- •CIが未完了の場合は
- •Issueとの紐付けを確認する。
- •
githubスキル(github-graphql.sh)を使用して、PRのclosingIssuesReferencesを取得する。 - •紐付けがある場合は手順10へ進む。
- •紐付けがない場合(
closingIssuesReferencesが空)、ユーザーに警告し、続行の承認を得る。 - •ユーザーが続行を承認した場合は手順10へ進む。承認しない場合は作業を中断する。
- •
- •マージ前にbehind状態を再確認する。
- •
githubスキルを使用してPRの状態を再取得し、behind状態かどうかを確認する。 - •behind状態が
nullの場合は10秒待機してから再取得する(最大3回まで)。 - •behind状態が
trueの場合はベースブランチをマージし、手順3に戻る(手順8の回数制限の対象)。 - •behind状態が
falseの場合は手順11へ進む。
- •
- •PRのマージを行う。
- •
githubスキル(pr-merge.sh)を使用してPRをマージする。マージ方式はリポジトリのデフォルト設定に従う。 - •マージに成功した場合は完了をユーザーに報告する。
- •マージに失敗した場合、behind状態であればベースブランチをマージし、手順3に戻る(手順8の回数制限の対象)。それ以外の場合は失敗理由を報告し、作業を中断する。
- •
完了条件
以下の全てを満たすこと:
- • PRブランチがベースブランチに対して遅れていない(behind状態でない)
- • outdatedのものも含め、レビュースレッドが全て resolve されている
- • 改修提案への対応が完了し、返信済み
- • 対応不要なコメントへの返信が完了している
- • CI が全て成功している
注意点
- •承認されるまではResolveすることは禁止
- •ただし、改修提案への対応済み(コード修正・返信完了)のスレッドは、以下の場合に例外としてResolve可能:
- •
IsOutdated=trueである - •botレビュアーからのコメントである
- •
- •ただし、改修提案への対応済み(コード修正・返信完了)のスレッドは、以下の場合に例外としてResolve可能:
- •返信時はスレッドの投稿者全員に対してメンションすること
- •マージ後にブランチの自動削除は行わない