From d083eb597f90f3e13206ac0fc27d80c145ca41a9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 10 Jun 2026 13:58:55 +0000 Subject: [PATCH 1/3] Add coverage workflow install fix --- .github/workflows/CI.yml | 17 +++++++++++++++++ pyproject.toml | 1 + 2 files changed, 18 insertions(+) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 0cae82b..f2d9211 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -203,6 +203,23 @@ jobs: pip install pytest pytest + coverage: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.12" + - name: Install package and test dependencies + run: python -m pip install -e .[test] + - name: Run coverage + run: pytest --cov=e57 --cov-report=term-missing --cov-report=xml + - name: Upload coverage artifact + uses: actions/upload-artifact@v4 + with: + name: coverage-xml + path: coverage.xml + sdist: runs-on: ubuntu-latest steps: diff --git a/pyproject.toml b/pyproject.toml index cb25851..5744eac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,6 +26,7 @@ classifiers = [ [project.optional-dependencies] test = [ 'pytest>=9,<10', + 'pytest-cov>=5,<7', ] [project.urls] From 8179838427853c6358b15e9f701b1bb55b48adae Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 10 Jun 2026 15:33:26 +0000 Subject: [PATCH 2/3] Add HTML and Markdown coverage reports to coverage job --- .github/workflows/CI.yml | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index f2d9211..4ad0dde 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -213,12 +213,17 @@ jobs: - name: Install package and test dependencies run: python -m pip install -e .[test] - name: Run coverage - run: pytest --cov=e57 --cov-report=term-missing --cov-report=xml - - name: Upload coverage artifact + run: pytest --cov=e57 --cov-report=term-missing --cov-report=xml --cov-report=html + - name: Generate markdown coverage report + run: python -m coverage report --format=markdown > coverage.md + - name: Upload coverage artifacts uses: actions/upload-artifact@v4 with: - name: coverage-xml - path: coverage.xml + name: coverage-reports + path: | + coverage.xml + coverage.md + htmlcov/ sdist: runs-on: ubuntu-latest From 660102827dbe190a0a2683e4caa313a7d2e21444 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 10 Jun 2026 17:40:58 +0000 Subject: [PATCH 3/3] Update CI test matrix and action versions --- .github/workflows/CI.yml | 58 +++++++++++++++++++++++++--------------- 1 file changed, 37 insertions(+), 21 deletions(-) diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 4ad0dde..9158fa8 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -31,8 +31,8 @@ jobs: - runner: ubuntu-latest target: aarch64 steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: 3.14 - name: Build wheels @@ -45,7 +45,7 @@ jobs: sccache: 'true' manylinux: auto - name: Upload wheels - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: wheels-linux-${{ matrix.platform.target }} path: dist @@ -63,7 +63,7 @@ jobs: pytest - name: pytest if: ${{ !startsWith(matrix.platform.target, 'x86') && matrix.platform.target != 'ppc64' }} - uses: uraimo/run-on-arch-action@v2 + uses: uraimo/run-on-arch-action@v3 env: PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1 with: @@ -91,8 +91,8 @@ jobs: - runner: ubuntu-latest target: aarch64 steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: 3.14 - name: Build wheels @@ -105,13 +105,13 @@ jobs: sccache: 'true' manylinux: musllinux_1_2 - name: Upload wheels - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: wheels-musllinux-${{ matrix.platform.target }} path: dist - name: pytest if: ${{ !startsWith(matrix.platform.target, 'x86') }} - uses: uraimo/run-on-arch-action@v2 + uses: uraimo/run-on-arch-action@v3 env: PYO3_USE_ABI3_FORWARD_COMPATIBILITY: 1 with: @@ -138,8 +138,8 @@ jobs: - runner: windows-latest target: x86 steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: 3.14 architecture: ${{ matrix.platform.target }} @@ -152,7 +152,7 @@ jobs: args: --release --out dist --find-interpreter sccache: 'true' - name: Upload wheels - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: wheels-windows-${{ matrix.platform.target }} path: dist @@ -175,8 +175,8 @@ jobs: - runner: macos-14 target: aarch64 steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: 3.14 - name: Build wheels @@ -188,7 +188,7 @@ jobs: args: --release --out dist --find-interpreter sccache: 'true' - name: Upload wheels - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: wheels-macos-${{ matrix.platform.target }} path: dist @@ -203,11 +203,27 @@ jobs: pip install pytest pytest + pytest: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + steps: + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 + with: + python-version: ${{ matrix.python-version }} + - name: Install package and test dependencies + run: python -m pip install -e .[test] + - name: Run pytest + run: pytest + coverage: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 - - uses: actions/setup-python@v5 + - uses: actions/checkout@v6 + - uses: actions/setup-python@v6 with: python-version: "3.12" - name: Install package and test dependencies @@ -217,7 +233,7 @@ jobs: - name: Generate markdown coverage report run: python -m coverage report --format=markdown > coverage.md - name: Upload coverage artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: coverage-reports path: | @@ -228,14 +244,14 @@ jobs: sdist: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Build sdist uses: PyO3/maturin-action@v1 with: command: sdist args: --out dist - name: Upload sdist - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: wheels-sdist path: dist @@ -253,9 +269,9 @@ jobs: # Used to generate artifact attestation attestations: write steps: - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v8 - name: Generate artifact attestation - uses: actions/attest-build-provenance@v1 + uses: actions/attest-build-provenance@v4 with: subject-path: 'wheels-*/*' - name: Publish to PyPI