GitHub Actionsで、複数環境でテストしたいのでmatrixに分けて、branch protectionの設定で全環境のテストが通ったらmasterにマージ可能にしましょう、というのをやろうとするとちょっと面倒です。
- matrixの数だけ必要なstatus checkに含めないといけない
- jobの名前を変えたときにrequired status checkの設定も追従させないといけない? (未確認)
- 「なんか一生CI greenになりませんね」的なことになりそう
- jobの名前を途中で変えたら選択肢がめちゃくちゃ出てくる
全部のテストに通った、というのを1つのstatus checkで表現したいので、以下のようなjobを追加しました。
needs: test
にして、test
jobが全てpassしないと作動しないようにする- 1つでもテストが落ちたらcancelされる
- とりあえず正常終了させる
post-test: name: All tests passed runs-on: ubuntu-latest needs: test steps: - run: echo ok
もっといい方法があるかもしれないけど、これでやりたいことはできました。これで必要なstatus checkの数を抑えることができます。