3131 - runner : ubuntu-latest
3232 target : aarch64
3333 steps :
34- - uses : actions/checkout@v4
35- - uses : actions/setup-python@v5
34+ - uses : actions/checkout@v6
35+ - uses : actions/setup-python@v6
3636 with :
3737 python-version : 3.14
3838 - name : Build wheels
4545 sccache : ' true'
4646 manylinux : auto
4747 - name : Upload wheels
48- uses : actions/upload-artifact@v4
48+ uses : actions/upload-artifact@v7
4949 with :
5050 name : wheels-linux-${{ matrix.platform.target }}
5151 path : dist
6363 pytest
6464 - name : pytest
6565 if : ${{ !startsWith(matrix.platform.target, 'x86') && matrix.platform.target != 'ppc64' }}
66- uses : uraimo/run-on-arch-action@v2
66+ uses : uraimo/run-on-arch-action@v3
6767 env :
6868 PYO3_USE_ABI3_FORWARD_COMPATIBILITY : 1
6969 with :
9191 - runner : ubuntu-latest
9292 target : aarch64
9393 steps :
94- - uses : actions/checkout@v4
95- - uses : actions/setup-python@v5
94+ - uses : actions/checkout@v6
95+ - uses : actions/setup-python@v6
9696 with :
9797 python-version : 3.14
9898 - name : Build wheels
@@ -105,13 +105,13 @@ jobs:
105105 sccache : ' true'
106106 manylinux : musllinux_1_2
107107 - name : Upload wheels
108- uses : actions/upload-artifact@v4
108+ uses : actions/upload-artifact@v7
109109 with :
110110 name : wheels-musllinux-${{ matrix.platform.target }}
111111 path : dist
112112 - name : pytest
113113 if : ${{ !startsWith(matrix.platform.target, 'x86') }}
114- uses : uraimo/run-on-arch-action@v2
114+ uses : uraimo/run-on-arch-action@v3
115115 env :
116116 PYO3_USE_ABI3_FORWARD_COMPATIBILITY : 1
117117 with :
@@ -138,8 +138,8 @@ jobs:
138138 - runner : windows-latest
139139 target : x86
140140 steps :
141- - uses : actions/checkout@v4
142- - uses : actions/setup-python@v5
141+ - uses : actions/checkout@v6
142+ - uses : actions/setup-python@v6
143143 with :
144144 python-version : 3.14
145145 architecture : ${{ matrix.platform.target }}
@@ -152,7 +152,7 @@ jobs:
152152 args : --release --out dist --find-interpreter
153153 sccache : ' true'
154154 - name : Upload wheels
155- uses : actions/upload-artifact@v4
155+ uses : actions/upload-artifact@v7
156156 with :
157157 name : wheels-windows-${{ matrix.platform.target }}
158158 path : dist
@@ -175,8 +175,8 @@ jobs:
175175 - runner : macos-14
176176 target : aarch64
177177 steps :
178- - uses : actions/checkout@v4
179- - uses : actions/setup-python@v5
178+ - uses : actions/checkout@v6
179+ - uses : actions/setup-python@v6
180180 with :
181181 python-version : 3.14
182182 - name : Build wheels
@@ -188,7 +188,7 @@ jobs:
188188 args : --release --out dist --find-interpreter
189189 sccache : ' true'
190190 - name : Upload wheels
191- uses : actions/upload-artifact@v4
191+ uses : actions/upload-artifact@v7
192192 with :
193193 name : wheels-macos-${{ matrix.platform.target }}
194194 path : dist
@@ -203,17 +203,55 @@ jobs:
203203 pip install pytest
204204 pytest
205205
206+ pytest :
207+ runs-on : ubuntu-latest
208+ strategy :
209+ fail-fast : false
210+ matrix :
211+ python-version : ["3.10", "3.11", "3.12", "3.13", "3.14"]
212+ steps :
213+ - uses : actions/checkout@v6
214+ - uses : actions/setup-python@v6
215+ with :
216+ python-version : ${{ matrix.python-version }}
217+ - name : Install package and test dependencies
218+ run : python -m pip install -e .[test]
219+ - name : Run pytest
220+ run : pytest
221+
222+ coverage :
223+ runs-on : ubuntu-latest
224+ steps :
225+ - uses : actions/checkout@v6
226+ - uses : actions/setup-python@v6
227+ with :
228+ python-version : " 3.12"
229+ - name : Install package and test dependencies
230+ run : python -m pip install -e .[test]
231+ - name : Run coverage
232+ run : pytest --cov=e57 --cov-report=term-missing --cov-report=xml --cov-report=html
233+ - name : Generate markdown coverage report
234+ run : python -m coverage report --format=markdown > coverage.md
235+ - name : Upload coverage artifacts
236+ uses : actions/upload-artifact@v7
237+ with :
238+ name : coverage-reports
239+ path : |
240+ coverage.xml
241+ coverage.md
242+ htmlcov/
243+
206244 sdist :
207245 runs-on : ubuntu-latest
208246 steps :
209- - uses : actions/checkout@v4
247+ - uses : actions/checkout@v6
210248 - name : Build sdist
211249 uses : PyO3/maturin-action@v1
212250 with :
213251 command : sdist
214252 args : --out dist
215253 - name : Upload sdist
216- uses : actions/upload-artifact@v4
254+ uses : actions/upload-artifact@v7
217255 with :
218256 name : wheels-sdist
219257 path : dist
@@ -231,9 +269,9 @@ jobs:
231269 # Used to generate artifact attestation
232270 attestations : write
233271 steps :
234- - uses : actions/download-artifact@v4
272+ - uses : actions/download-artifact@v8
235273 - name : Generate artifact attestation
236- uses : actions/attest-build-provenance@v1
274+ uses : actions/attest-build-provenance@v4
237275 with :
238276 subject-path : ' wheels-*/*'
239277 - name : Publish to PyPI
0 commit comments