GitHub Actions の Required Status Check とは?
required status check は、pull request がマージされる前に成功しなければならない CI チェックで、branch protection によって強制されます。
workflow は各コミットに合否ステータスを報告しますが、報告だけでは不正なマージをブロックしません。required status check は、選択したチェックを pull request のマージ前に必須にします。
概要
status check(通常はジョブまたは workflow の結果)で、branch protection ルールまたは ruleset が required としてマークしたものです。そのチェックが成功を報告するまで pull request はマージできません。
仕組み
workflow ジョブは名前付きのチェックを投稿します。branch protection の設定で、そのチェック名を required として選択します。すると GitHub は、最新のコミットでチェックが成功するまでマージをブロックします。
jobs:
test: # this job's name becomes a selectable check
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: npm test厳格モード
オプションで、"require branches to be up to date" は、マージ前に PR に最新の base branch を含めることを強制するため、チェックは実際に取り込まれる内容に対して実行されます。
重要な理由
required check は、チームが quality gate を強制する方法です。テスト、linting、セキュリティスキャンに合格しなければマージできません。CI を助言的なものから厳格なガードレールに変えます。
関連する概念
required check はジョブと run が生成するステータスを消費し、deploy 向けの environment 保護ルールを補完します。
重要なポイント
- required status check はマージ前に成功しなければなりません。
- branch protection または ruleset がチェックを required としてマークします。
- CI を強制された quality gate に変えます。