Skip to content

Commit 4d39e9a

Browse files
committed
ci(workflows): update weekly-regression.yaml workflow to run regression systems independently
1 parent 01c1f88 commit 4d39e9a

1 file changed

Lines changed: 29 additions & 5 deletions

File tree

.github/workflows/weekly-regression.yaml

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,32 @@ concurrency:
1010
cancel-in-progress: true
1111

1212
jobs:
13+
discover:
14+
name: Discover regression systems
15+
runs-on: ubuntu-24.04
16+
outputs:
17+
systems: ${{ steps.set.outputs.systems }}
18+
19+
steps:
20+
- name: Checkout repo
21+
uses: actions/checkout@v4
22+
23+
- name: Generate system matrix
24+
id: set
25+
run: |
26+
systems=$(ls tests/regression/configs | jq -R -s -c 'split("\n")[:-1]')
27+
echo "systems=$systems" >> $GITHUB_OUTPUT
28+
1329
regression:
14-
name: Regression tests (including slow)
30+
name: Regression (${{ matrix.system }})
31+
needs: discover
1532
runs-on: ubuntu-24.04
33+
34+
strategy:
35+
fail-fast: false
36+
matrix:
37+
system: ${{ fromJson(needs.discover.outputs.systems) }}
38+
1639
steps:
1740
- name: Checkout repo
1841
uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6
@@ -29,19 +52,20 @@ jobs:
2952
path: .testdata
3053
key: codeentropy-testdata-${{ runner.os }}-py314
3154

32-
- name: Install CodeEntropy and its testing dependencies
55+
- name: Install CodeEntropy and dependencies
3356
run: |
3457
pip install --upgrade pip
3558
pip install -e .[testing]
3659
37-
- name: Run regression test suite
38-
run: pytest tests/regression --run-slow
60+
- name: Run regression tests for system
61+
run: |
62+
pytest tests/regression -k "${{ matrix.system }}" --run-slow -vv
3963
4064
- name: Upload regression artifacts on failure
4165
if: failure()
4266
uses: actions/upload-artifact@v4
4367
with:
44-
name: regression-failure-artifacts
68+
name: regression-${{ matrix.system }}-artifacts
4569
path: |
4670
.testdata/**
4771
tests/regression/**/.pytest_cache/**

0 commit comments

Comments
 (0)