summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSavagePeanut <sourcehut@lazytapir.com>2025-04-07 10:20:46 -0500
committerSavagePeanut <sourcehut@lazytapir.com>2025-04-07 10:24:15 -0500
commit8f87d44716aaf80a44e3f6d271d94e93eaa01c96 (patch)
tree13265ef7af2ee10e86daf3209e64c8dcfe19a5eb
parent3a0a7dd19a1cc588c72e5f6ea32c25614070b944 (diff)
update github CI
-rw-r--r--.github/workflows/CI.yml139
1 files changed, 98 insertions, 41 deletions
diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml
index 783238b..6574c1f 100644
--- a/.github/workflows/CI.yml
+++ b/.github/workflows/CI.yml
@@ -1,4 +1,4 @@
-# This file is autogenerated by maturin v0.14.17
+# This file is autogenerated by maturin v1.8.3
# To update, run
#
# maturin generate-ci github
@@ -20,105 +20,162 @@ permissions:
jobs:
linux:
- runs-on: ubuntu-latest
- if: "startsWith(github.ref, 'refs/tags/')"
+ runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
- target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
+ platform:
+ - runner: ubuntu-22.04
+ target: x86_64
+ - runner: ubuntu-22.04
+ target: x86
+ - runner: ubuntu-22.04
+ target: aarch64
+ - runner: ubuntu-22.04
+ target: armv7
+ - runner: ubuntu-22.04
+ target: s390x
+ - runner: ubuntu-22.04
+ target: ppc64le
steps:
- - uses: actions/checkout@v3
- - uses: actions/setup-python@v4
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
with:
- python-version: '3.10'
+ python-version: 3.x
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
- target: ${{ matrix.target }}
+ target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
- sccache: 'true'
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
manylinux: auto
- name: Upload wheels
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
+ with:
+ name: wheels-linux-${{ matrix.platform.target }}
+ path: dist
+
+ musllinux:
+ runs-on: ${{ matrix.platform.runner }}
+ strategy:
+ matrix:
+ platform:
+ - runner: ubuntu-22.04
+ target: x86_64
+ - runner: ubuntu-22.04
+ target: x86
+ - runner: ubuntu-22.04
+ target: aarch64
+ - runner: ubuntu-22.04
+ target: armv7
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ with:
+ python-version: 3.x
+ - name: Build wheels
+ uses: PyO3/maturin-action@v1
+ with:
+ target: ${{ matrix.platform.target }}
+ args: --release --out dist --find-interpreter
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
+ manylinux: musllinux_1_2
+ - name: Upload wheels
+ uses: actions/upload-artifact@v4
with:
- name: wheels
+ name: wheels-musllinux-${{ matrix.platform.target }}
path: dist
windows:
- runs-on: windows-latest
- if: "startsWith(github.ref, 'refs/tags/')"
+ runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
- target: [x64, x86]
+ platform:
+ - runner: windows-latest
+ target: x64
+ - runner: windows-latest
+ target: x86
steps:
- - uses: actions/checkout@v3
- - uses: actions/setup-python@v4
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
with:
- python-version: '3.10'
- architecture: ${{ matrix.target }}
+ python-version: 3.x
+ architecture: ${{ matrix.platform.target }}
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
- target: ${{ matrix.target }}
+ target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
- sccache: 'true'
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
- name: Upload wheels
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
- name: wheels
+ name: wheels-windows-${{ matrix.platform.target }}
path: dist
macos:
- runs-on: macos-latest
- if: "startsWith(github.ref, 'refs/tags/')"
+ runs-on: ${{ matrix.platform.runner }}
strategy:
matrix:
- target: [x86_64, aarch64]
+ platform:
+ - runner: macos-13
+ target: x86_64
+ - runner: macos-14
+ target: aarch64
steps:
- - uses: actions/checkout@v3
- - uses: actions/setup-python@v4
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
with:
- python-version: '3.10'
+ python-version: 3.x
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
- target: ${{ matrix.target }}
+ target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter
- sccache: 'true'
+ sccache: ${{ !startsWith(github.ref, 'refs/tags/') }}
- name: Upload wheels
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
- name: wheels
+ name: wheels-macos-${{ matrix.platform.target }}
path: dist
sdist:
runs-on: ubuntu-latest
- if: "startsWith(github.ref, 'refs/tags/')"
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
- name: Upload sdist
- uses: actions/upload-artifact@v3
+ uses: actions/upload-artifact@v4
with:
- name: wheels
+ name: wheels-sdist
path: dist
release:
name: Release
runs-on: ubuntu-latest
- if: "startsWith(github.ref, 'refs/tags/')"
- needs: [linux, windows, macos, sdist]
+ if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
+ needs: [linux, musllinux, windows, macos, sdist]
+ permissions:
+ # Use to sign the release artifacts
+ id-token: write
+ # Used to upload release artifacts
+ contents: write
+ # Used to generate artifact attestation
+ attestations: write
steps:
- - uses: actions/download-artifact@v3
+ - uses: actions/download-artifact@v4
+ - name: Generate artifact attestation
+ uses: actions/attest-build-provenance@v2
with:
- name: wheels
+ subject-path: 'wheels-*/*'
- name: Publish to PyPI
+ if: ${{ startsWith(github.ref, 'refs/tags/') }}
uses: PyO3/maturin-action@v1
env:
MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
with:
command: upload
- args: --skip-existing *
+ args: --non-interactive --skip-existing wheels-*/*