Skip to content

Commit 6634b00

Browse files
authored
Merge pull request #43 from dancergraham/copilot/fix-coverage-job-failure
Fix coverage workflow install and expand Ubuntu CI test matrix
2 parents 3e5eb46 + 6601028 commit 6634b00

2 files changed

Lines changed: 57 additions & 18 deletions

File tree

.github/workflows/CI.yml

Lines changed: 56 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ 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
35+
- uses: actions/setup-python@v6
3636
with:
3737
python-version: 3.14
3838
- name: Build wheels
@@ -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
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
6767
env:
6868
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1
6969
with:
@@ -91,8 +91,8 @@ jobs:
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

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ classifiers = [
2626
[project.optional-dependencies]
2727
test = [
2828
'pytest>=9,<10',
29+
'pytest-cov>=5,<7',
2930
]
3031

3132
[project.urls]

0 commit comments

Comments
 (0)