Build Matrix Explosionとは?
build matrix explosionは、jobのmatrixが複数の変数にわたって掛け合わされ、結果として生じるjob数が組み合わせ的に増える現象です。5つのOS、4つの言語バージョン、3つのアーキテクチャのmatrixは、12ではなく60のjobを生みます。放置するとrunnerの容量を圧迫し、CIコストを膨らませかねません。
なぜ重要か
matrixの次元を1つ追加するたびに、加算ではなく乗算になるため、カバレッジとコストは静かに膨れ上がります。チームは、価値の低い組み合わせを除外し、mainでのみフルmatrixをテストし、代表的なバージョンに絞り込むことでこれを抑えます。autoscalingするマネージドrunnerでは、コストは同時実行runner分のスパイクとして現れます。
制御する方法
- include/excludeで不要な組み合わせを刈り込む
- フルmatrixは保護ブランチでのみ実行する
- fast-failを設定し、1つの失敗で残りを止める
関連ガイド
What Is a Job Matrix?A job matrix expands a single job definition into many parallel jobs across combinations of variables like OS…
What Is Fan-Out/Fan-In?Fan-out splits work into many parallel jobs; fan-in gathers their results into a single downstream step, a co…
What Is a Build Minute?A build minute is the standard unit of CI billing: one minute of a runner executing a job, often weighted by…