ステータスチェックとは?
ステータスチェックとは、"tests passed" のように、自動化システムがコミットやプルリクエストに対して報告する合格または不合格の結果です。
プルリクエストに表示される緑のチェックマークや赤いXは、ステータスチェックです。それぞれが自動化プロセス、build、tests、linting、security scanからの判定であり、その変更の各側面が健全かどうかをあなたとプラットフォームに伝えます。
ステータスチェックとは
ステータスチェックは、CIシステムやその他のツールによって特定のコミットに紐付けられた、成功・失敗・保留という名前付きの結果です。1つのプルリクエストは通常、buildに1つ、testsに1つ、lintingに1つといった具合に複数を持ちます。それらを合わせると、変更の健全性を一目で把握できます。
必須チェックがマージをどうゲートするか
ステータスチェックがbranch protectionによって必須としてマークされている場合、そのチェックが成功を報告するまでプラットフォームは変更のマージを許可しません。失敗または保留中の必須チェックは、マージボタンを無効にします。これにより、CIの結果は参考情報から強制されるゲートへと変わります。
例
あるプルリクエストに3つのチェックが表示されます: build passed、tests passed、lint failed。lintチェックが必須なので、マージボタンは無効になっています。作者がフォーマットを修正してpushすると、チェックが再実行され、3つすべてが緑になり、変更をマージできるようになります。
なぜ重要なのか
ステータスチェックは、意思決定が行われるまさにその場所、つまりプルリクエスト上で、自動検証の結果を可視化し、対応可能にします。レビュアーは仕組みが健全であると信頼でき、設計に集中できます。必須チェックとして、誰も手作業で取り締まることなく、自動的に品質を強制します。
チェックを意味あるものに保つ
- チェックを高速に保ち、マージのボトルネックにならないようにする。
- 信頼できるものに保つ; flakyなチェックは信頼を損なう。
- 本当に重要なものだけを必須としてマークする。
- 緑のチェックが、変更が安全であることを本当に意味するようにする。
重要なポイント
- ステータスチェックは、コミットやPRに対する合格/不合格の判定です。
- 必須チェックは、成功するまでマージをブロックします。
- CIの結果を可視化し、それを強制されるゲートに変えます。