From 4f0eb38b068981a4201da05b4574ec400e8286d9 Mon Sep 17 00:00:00 2001 From: Jack Harper Date: Wed, 14 Jan 2026 11:26:07 +0000 Subject: [PATCH 1/6] ci matrix --- .github/workflows/Lint-and-test.yml | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Lint-and-test.yml b/.github/workflows/Lint-and-test.yml index 640cba0..35cd306 100644 --- a/.github/workflows/Lint-and-test.yml +++ b/.github/workflows/Lint-and-test.yml @@ -12,18 +12,27 @@ on: jobs: call-workflow: + strategy: + matrix: + version: ['3.12', '3.13', '3.14'] + os: ["ubuntu-latest", "windows-latest"] uses: ISISComputingGroup/reusable-workflows/.github/workflows/linters.yml@main with: compare-branch: origin/main - python-ver: '3.12' + python-ver: ${{ matrix.version }} + runs-on: ${{ matrix.runs-on }} tests: - runs-on: ubuntu-latest + strategy: + matrix: + version: ['3.12', '3.13', '3.14'] + os: ["ubuntu-latest", "windows-latest"] + runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v6 - name: Install uv and set the python version uses: astral-sh/setup-uv@v7 with: - python-version: "3.12" + python-version: ${{ matrix.runs-on }} - name: Install dependencies run: uv sync --all-extras --dev - name: Test with pytest From 4a69f59e555972fd4cefe9cd03ef74460fa1010e Mon Sep 17 00:00:00 2001 From: Jack Harper Date: Wed, 14 Jan 2026 11:29:20 +0000 Subject: [PATCH 2/6] correct runs-on --- .github/workflows/Lint-and-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Lint-and-test.yml b/.github/workflows/Lint-and-test.yml index 35cd306..ea4c5e3 100644 --- a/.github/workflows/Lint-and-test.yml +++ b/.github/workflows/Lint-and-test.yml @@ -20,7 +20,7 @@ jobs: with: compare-branch: origin/main python-ver: ${{ matrix.version }} - runs-on: ${{ matrix.runs-on }} + runs-on: ${{ matrix.os }} tests: strategy: matrix: From 424b636acd9179e203bd96045fb169666348ba6f Mon Sep 17 00:00:00 2001 From: Jack Harper Date: Wed, 14 Jan 2026 11:31:02 +0000 Subject: [PATCH 3/6] only lint on 3.13 --- .github/workflows/Lint-and-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Lint-and-test.yml b/.github/workflows/Lint-and-test.yml index ea4c5e3..899143e 100644 --- a/.github/workflows/Lint-and-test.yml +++ b/.github/workflows/Lint-and-test.yml @@ -19,7 +19,7 @@ jobs: uses: ISISComputingGroup/reusable-workflows/.github/workflows/linters.yml@main with: compare-branch: origin/main - python-ver: ${{ matrix.version }} + python-ver: '3.13' runs-on: ${{ matrix.os }} tests: strategy: From 6561c0dddf035ea8f857a874524b2c5ff182ce4b Mon Sep 17 00:00:00 2001 From: Jack Harper Date: Wed, 14 Jan 2026 11:36:57 +0000 Subject: [PATCH 4/6] remove matrix option for pyver --- .github/workflows/Lint-and-test.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/Lint-and-test.yml b/.github/workflows/Lint-and-test.yml index 899143e..d48ffed 100644 --- a/.github/workflows/Lint-and-test.yml +++ b/.github/workflows/Lint-and-test.yml @@ -14,7 +14,6 @@ jobs: call-workflow: strategy: matrix: - version: ['3.12', '3.13', '3.14'] os: ["ubuntu-latest", "windows-latest"] uses: ISISComputingGroup/reusable-workflows/.github/workflows/linters.yml@main with: From 837d706d579f50cd4f4712d5844b3862ead0be73 Mon Sep 17 00:00:00 2001 From: Jack Harper Date: Wed, 14 Jan 2026 11:41:48 +0000 Subject: [PATCH 5/6] add result parsing --- .github/workflows/Lint-and-test.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/Lint-and-test.yml b/.github/workflows/Lint-and-test.yml index d48ffed..5191154 100644 --- a/.github/workflows/Lint-and-test.yml +++ b/.github/workflows/Lint-and-test.yml @@ -36,3 +36,16 @@ jobs: run: uv sync --all-extras --dev - name: Test with pytest run: uv run pytest tests + results: + if: ${{ always() }} + runs-on: ubuntu-latest + name: Final Results + needs: [tests, call-workflow] + steps: + - run: exit 1 + # see https://stackoverflow.com/a/67532120/4907315 + if: >- + ${{ + contains(needs.*.result, 'failure') + || contains(needs.*.result, 'cancelled') + }} From 1e86fed0d2fc2e4e6bfd1d7fedd451692df55cc4 Mon Sep 17 00:00:00 2001 From: Jack Harper Date: Wed, 14 Jan 2026 11:52:11 +0000 Subject: [PATCH 6/6] only lint on ubuntu --- .github/workflows/Lint-and-test.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/Lint-and-test.yml b/.github/workflows/Lint-and-test.yml index 5191154..02697cc 100644 --- a/.github/workflows/Lint-and-test.yml +++ b/.github/workflows/Lint-and-test.yml @@ -12,14 +12,11 @@ on: jobs: call-workflow: - strategy: - matrix: - os: ["ubuntu-latest", "windows-latest"] uses: ISISComputingGroup/reusable-workflows/.github/workflows/linters.yml@main with: compare-branch: origin/main python-ver: '3.13' - runs-on: ${{ matrix.os }} + runs-on: 'ubuntu-latest' tests: strategy: matrix: