1010env :
1111 FORCE_COLOR : " 1"
1212
13- defaults :
14- run :
15- shell : bash -el {0}
16-
17- # Cancel the job if new commits are pushed
18- # https://stackoverflow.com/questions/66335225/how-to-cancel-previous-runs-in-the-pr-when-you-push-new-commitsupdate-the-curre
13+ # Cancel the job if new commits are pushed: https://stackoverflow.com/q/66335225/247482
1914concurrency :
2015 group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
2116 cancel-in-progress : true
@@ -26,11 +21,11 @@ jobs:
2621 outputs :
2722 envs : ${{ steps.get-envs.outputs.envs }}
2823 steps :
29- - uses : actions/checkout@v4
24+ - uses : actions/checkout@v5
3025 with :
3126 filter : blob:none
3227 fetch-depth : 0
33- - uses : astral-sh/setup-uv@v5
28+ - uses : astral-sh/setup-uv@v6
3429 with :
3530 enable-cache : false
3631 - id : get-envs
4136 | { name: .key, python: .value.python, args: (.value."extra-args" // [] | join(" ")) }
4237 )')
4338 echo "envs=${ENVS_JSON}" | tee $GITHUB_OUTPUT
39+
4440 test :
4541 needs : get-environments
4642 runs-on : ubuntu-latest
@@ -51,31 +47,35 @@ jobs:
5147 env : # environment variable for use in codecov’s env_vars tagging
5248 ENV_NAME : ${{ matrix.env.name }}
5349 steps :
54- - uses : actions/checkout@v4
50+ - uses : actions/checkout@v5
5551 with :
5652 fetch-depth : 0
5753 filter : blob:none
5854
5955 - name : Install system dependencies
6056 run : sudo apt install -y hdf5-tools
6157
62- - name : Set up Python ${{ matrix.env.python }}
63- uses : actions/setup-python@v5
64- with :
65- python-version : ${{ matrix.env.python }}
66-
6758 - name : Install UV
68- uses : astral-sh/setup-uv@v5
59+ uses : astral-sh/setup-uv@v6
6960 with :
7061 enable-cache : true
71- cache-dependency-glob : pyproject.toml
62+ python-version : ${{ matrix.env.python }}
7263
7364 - name : Install dependencies
7465 run : uvx hatch -v env create ${{ matrix.env.name }}
7566
7667 - name : Run tests
7768 run : uvx hatch run ${{ matrix.env.name }}:run-cov -v --color=yes -n auto --cov --cov-report=xml --junitxml=test-data/test-results.xml -m "${{ matrix.io_mark }}" ${{ matrix.env.args }}
7869
70+ - name : Upload test results
71+ if : ${{ !cancelled() }}
72+ uses : codecov/test-results-action@v1
73+ with :
74+ token : ${{ secrets.CODECOV_TOKEN }}
75+ env_vars : ENV_NAME
76+ fail_ci_if_error : true
77+ file : test-data/test-results.xml
78+
7979 - name : Upload coverage data
8080 uses : codecov/codecov-action@v5
8181 with :
@@ -85,17 +85,18 @@ jobs:
8585 files : test-data/coverage.xml
8686
8787 build :
88- runs-on : ubuntu-22 .04
88+ runs-on : ubuntu-24 .04
8989 steps :
90- - uses : actions/checkout@v4
90+ - uses : actions/checkout@v5
9191 with :
9292 fetch-depth : 0
9393 filter : blob:none
9494
95- - name : Set up Python 3.13
95+ - name : Set up Python
9696 uses : actions/setup-python@v5
9797 with :
98- python-version : ' 3.13'
98+ python-version : ' 3.x'
99+ cache : pip
99100
100101 - name : Install build tools and requirements
101102 run : |
@@ -123,6 +124,6 @@ jobs:
123124 - build
124125 runs-on : ubuntu-latest
125126 steps :
126- - uses : re-actors/alls-green@release/v1
127- with :
128- jobs : ${{ toJSON(needs) }}
127+ - uses : re-actors/alls-green@release/v1
128+ with :
129+ jobs : ${{ toJSON(needs) }}
0 commit comments