Skip to content
Latchkey

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つの失敗で残りを止める

関連ガイド