Skip to content
Latchkey

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 は、最新のコミットでチェックが成功するまでマージをブロックします。

A check-producing job
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 に変えます。

関連ガイド