Merge Queue Batching - CI/CD用語集の定義
merge queue batchingは複数のプルリクエストを1つの結合された変更としてテストするので、1回のグリーンな実行でバッチ全体をマージします。失敗したバッチは二分探索され、悪いPRを取り除いて残りを再キューします。
merge queue batchingは、キューに入った複数のプルリクエストをグループ化し、ターゲットブランチに対してまとめてテストします。これにより、1回のCI実行で複数のマージを検証できます。バッチが失敗した場合、キューは二分探索して問題のある変更を見つけて取り除きます。
batchingは、各PRを順番にテストしていては追いつかない忙しいリポジトリでマージのスループットを高めます。
バッチサイズのトレードオフ
大きなバッチはCI実行1回でより多くをマージしますが、悪いPRを見つけるための二分探索に追加の実行が必要になるため、失敗のコストが高くなります。小さなバッチは実行回数が増えますが、失敗をより速く切り分けられます。
CIにおいて
GitHubのmerge queueはbatchingをサポートします。各PRを、実際にマージされる状態そのものに対してテストすることでターゲットブランチを常にグリーンに保ち、単独では通ってしまう意味的な競合を捕捉します。
関連ガイド
Coverage Ratchet - CI/CD Glossary DefinitionCoverage Ratchet: A coverage ratchet is a CI policy that fails a change if it lowers test coverage below the…
Critical Path Analysis (Pipeline) - CI/CD Glossary DefinitionCritical Path Analysis (Pipeline): Critical path analysis finds the longest chain of dependent stages in a pi…
Runner Queue Depth - CI/CD Glossary DefinitionRunner Queue Depth: Runner queue depth is the number of jobs waiting for a free runner at a given moment; a p…