From 93ec83ffbf8271e97b019972a3b4ad66ab26828c Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Fri, 3 Mar 2023 17:20:10 -0500 Subject: [PATCH] ci: generate one job per session Signed-off-by: Henry Schreiner --- .github/workflows/ci.yml | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 131b648..9d7c3d0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -15,19 +15,40 @@ env: FORCE_COLOR: 3 jobs: + generate-jobs: + runs-on: ubuntu-latest + outputs: + session: ${{ steps.set-matrix.outputs.session }} + steps: + - uses: actions/checkout@v3 + - uses: henryiii/nox@henryiii/feat/json + - id: set-matrix + run: | + MATRIX=$( + nox --json -l | jq -c '[.[].session]' + ) + echo "session=$MATRIX" | tee --append $GITHUB_OUTPUT + checks: + needs: [generate-jobs] runs-on: ${{ matrix.runs-on }} strategy: fail-fast: false matrix: runs-on: [ubuntu-latest, macos-latest, windows-latest] + session: ${{ fromJson(needs.generate-jobs.outputs.session) }} + exclude: + - runs-on: windows-latest + session: test(hello-cmake-package) + - runs-on: windows-latest + session: dist(hello-cmake-package) - name: Check on ${{ matrix.runs-on }} + name: Session ${{ matrix.session }} on ${{ matrix.runs-on }} steps: - uses: actions/checkout@v3 - uses: wntrblm/nox@2022.11.21 - - run: nox + - run: nox -s '${{ matrix.session }}' pass: if: always()