[GitHub 100日チャレンジ] Day 88 - Matrix Strategyで並列テストする
GitHub Actionsのmatrix strategyで複数のOSや言語バージョンを並列にテストする方法を学びます。
[GitHub 100日チャレンジ] Day 88 - Matrix Strategyで並列テストする
Matrix Strategyとは
Matrix Strategyは、複数の条件で同じjobを並列実行する仕組みです。Node.jsの複数version、複数OS、複数言語versionのテストに向いています。
1
2
3
strategy:
matrix:
node-version: [18, 20, 22]
例
1
2
3
4
5
6
7
8
9
10
11
12
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- run: npm test
使いどころ
この例は一つのOSでNode.jsの条件を三つに分ける構造です。Node.jsの指定値はテスト対象の例で、常に最新を意味しません。実行には各jobで依存関係を準備するstepとtestスクリプトが必要です。準備後はActions画面で三条件が個別のjobとして出るか確認しましょう。
- ライブラリが複数versionをサポートする
- OSごとの動作差を確認したい
- 本番環境と開発環境の差を減らしたい
今日のゴール
Matrix Strategyは、同じテストを複数条件で効率よく回す方法です。サポート対象を明確にしてから設定しましょう。
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。
