Skip to content

Commit 3b0df4d

Browse files
authored
Add Ubuntu pytest matrix and refresh GitHub Actions versions
1 parent 19f32d8 commit 3b0df4d

1 file changed

Lines changed: 50 additions & 28 deletions

File tree

.github/workflows/CI.yml

Lines changed: 50 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,12 @@ jobs:
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.0.3
35+
- uses: actions/setup-python@v6.2.0
3636
with:
3737
python-version: 3.14
3838
- name: Build wheels
39-
uses: PyO3/maturin-action@v1
39+
uses: PyO3/maturin-action@v1.51.0
4040
env:
4141
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1
4242
with:
@@ -45,7 +45,7 @@ jobs:
4545
sccache: 'true'
4646
manylinux: auto
4747
- name: Upload wheels
48-
uses: actions/upload-artifact@v4
48+
uses: actions/upload-artifact@v7.0.1
4949
with:
5050
name: wheels-linux-${{ matrix.platform.target }}
5151
path: dist
@@ -63,7 +63,7 @@ jobs:
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.1.0
6767
env:
6868
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1
6969
with:
@@ -79,6 +79,26 @@ jobs:
7979
pip3 install e57 --find-links dist --force-reinstall
8080
pytest
8181
82+
pytest:
83+
runs-on: ubuntu-latest
84+
strategy:
85+
matrix:
86+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
87+
steps:
88+
- uses: actions/checkout@v6.0.3
89+
- uses: actions/setup-python@v6.2.0
90+
with:
91+
python-version: ${{ matrix.python-version }}
92+
- name: Build and install package
93+
uses: PyO3/maturin-action@v1.51.0
94+
env:
95+
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1
96+
with:
97+
command: develop
98+
args: --release --extras test
99+
- name: pytest
100+
run: pytest
101+
82102
musllinux:
83103
runs-on: ${{ matrix.platform.runner }}
84104
strategy:
@@ -91,12 +111,12 @@ jobs:
91111
- runner: ubuntu-latest
92112
target: aarch64
93113
steps:
94-
- uses: actions/checkout@v4
95-
- uses: actions/setup-python@v5
114+
- uses: actions/checkout@v6.0.3
115+
- uses: actions/setup-python@v6.2.0
96116
with:
97117
python-version: 3.14
98118
- name: Build wheels
99-
uses: PyO3/maturin-action@v1
119+
uses: PyO3/maturin-action@v1.51.0
100120
env:
101121
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1
102122
with:
@@ -105,13 +125,13 @@ jobs:
105125
sccache: 'true'
106126
manylinux: musllinux_1_2
107127
- name: Upload wheels
108-
uses: actions/upload-artifact@v4
128+
uses: actions/upload-artifact@v7.0.1
109129
with:
110130
name: wheels-musllinux-${{ matrix.platform.target }}
111131
path: dist
112132
- name: pytest
113133
if: ${{ !startsWith(matrix.platform.target, 'x86') }}
114-
uses: uraimo/run-on-arch-action@v2
134+
uses: uraimo/run-on-arch-action@v3.1.0
115135
env:
116136
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1
117137
with:
@@ -138,21 +158,21 @@ jobs:
138158
- runner: windows-latest
139159
target: x86
140160
steps:
141-
- uses: actions/checkout@v4
142-
- uses: actions/setup-python@v5
161+
- uses: actions/checkout@v6.0.3
162+
- uses: actions/setup-python@v6.2.0
143163
with:
144164
python-version: 3.14
145165
architecture: ${{ matrix.platform.target }}
146166
- name: Build wheels
147-
uses: PyO3/maturin-action@v1
167+
uses: PyO3/maturin-action@v1.51.0
148168
env:
149169
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1
150170
with:
151171
target: ${{ matrix.platform.target }}
152172
args: --release --out dist --find-interpreter
153173
sccache: 'true'
154174
- name: Upload wheels
155-
uses: actions/upload-artifact@v4
175+
uses: actions/upload-artifact@v7.0.1
156176
with:
157177
name: wheels-windows-${{ matrix.platform.target }}
158178
path: dist
@@ -175,20 +195,20 @@ jobs:
175195
- runner: macos-14
176196
target: aarch64
177197
steps:
178-
- uses: actions/checkout@v4
179-
- uses: actions/setup-python@v5
198+
- uses: actions/checkout@v6.0.3
199+
- uses: actions/setup-python@v6.2.0
180200
with:
181201
python-version: 3.14
182202
- name: Build wheels
183-
uses: PyO3/maturin-action@v1
203+
uses: PyO3/maturin-action@v1.51.0
184204
env:
185205
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1
186206
with:
187207
target: ${{ matrix.platform.target }}
188208
args: --release --out dist --find-interpreter
189209
sccache: 'true'
190210
- name: Upload wheels
191-
uses: actions/upload-artifact@v4
211+
uses: actions/upload-artifact@v7.0.1
192212
with:
193213
name: wheels-macos-${{ matrix.platform.target }}
194214
path: dist
@@ -206,34 +226,36 @@ jobs:
206226
coverage:
207227
runs-on: ubuntu-latest
208228
steps:
209-
- uses: actions/checkout@v4
210-
- uses: actions/setup-python@v5
229+
- uses: actions/checkout@v6.0.3
230+
- uses: actions/setup-python@v6.2.0
211231
with:
212232
python-version: "3.12"
213233
- name: Build and install package
214-
uses: PyO3/maturin-action@v1
234+
uses: PyO3/maturin-action@v1.51.0
235+
env:
236+
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1
215237
with:
216238
command: develop
217239
args: --release --extras test
218240
- name: Run coverage
219241
run: pytest --cov=e57 --cov-report=term-missing --cov-report=xml
220242
- name: Upload coverage artifact
221-
uses: actions/upload-artifact@v4
243+
uses: actions/upload-artifact@v7.0.1
222244
with:
223245
name: coverage-xml
224246
path: coverage.xml
225247

226248
sdist:
227249
runs-on: ubuntu-latest
228250
steps:
229-
- uses: actions/checkout@v4
251+
- uses: actions/checkout@v6.0.3
230252
- name: Build sdist
231-
uses: PyO3/maturin-action@v1
253+
uses: PyO3/maturin-action@v1.51.0
232254
with:
233255
command: sdist
234256
args: --out dist
235257
- name: Upload sdist
236-
uses: actions/upload-artifact@v4
258+
uses: actions/upload-artifact@v7.0.1
237259
with:
238260
name: wheels-sdist
239261
path: dist
@@ -251,14 +273,14 @@ jobs:
251273
# Used to generate artifact attestation
252274
attestations: write
253275
steps:
254-
- uses: actions/download-artifact@v4
276+
- uses: actions/download-artifact@v8.0.1
255277
- name: Generate artifact attestation
256-
uses: actions/attest-build-provenance@v1
278+
uses: actions/attest-build-provenance@v4.1.0
257279
with:
258280
subject-path: 'wheels-*/*'
259281
- name: Publish to PyPI
260282
if: "startsWith(github.ref, 'refs/tags/')"
261-
uses: PyO3/maturin-action@v1
283+
uses: PyO3/maturin-action@v1.51.0
262284
env:
263285
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
264286
with:

0 commit comments

Comments
 (0)