From 1e06dff5f93b3c633a781262d9bccd3f316dd8bb Mon Sep 17 00:00:00 2001 From: ddelange <14880945+ddelange@users.noreply.github.com> Date: Mon, 23 Sep 2024 19:39:33 +0200 Subject: [PATCH] Switch to ABI3 forward-compatible wheels --- .github/workflows/dists.yml | 16 +++------------- .github/workflows/tests.yml | 12 ++++-------- Cargo.toml | 2 +- 3 files changed, 8 insertions(+), 22 deletions(-) diff --git a/.github/workflows/dists.yml b/.github/workflows/dists.yml index 8de5ff8..744899b 100644 --- a/.github/workflows/dists.yml +++ b/.github/workflows/dists.yml @@ -14,55 +14,46 @@ concurrency: # https://stackoverflow.com/questions/66335225#comment133398800_72 jobs: wheel: - name: ${{ matrix.os }}-${{ matrix.target }}-${{ matrix.interpreter }}-${{ matrix.manylinux }}-${{ matrix.python-architecture }} + name: ${{ matrix.os }}-${{ matrix.target }}-${{ matrix.manylinux }}-${{ matrix.python-architecture }} strategy: fail-fast: false matrix: os: [ubuntu-latest, macos-latest, windows-latest] target: [x86_64, aarch64] manylinux: [auto] - interpreter: [all] python-architecture: [x64] include: - os: windows-latest target: i686 manylinux: auto - interpreter: all python-architecture: x86 - os: ubuntu-latest target: i686 manylinux: auto - interpreter: all python-architecture: x64 - os: ubuntu-latest target: aarch64 manylinux: auto - interpreter: all python-architecture: x64 - os: ubuntu-latest target: armv7 manylinux: auto - interpreter: all python-architecture: x64 - os: ubuntu-latest target: ppc64le manylinux: auto - interpreter: all python-architecture: x64 - os: ubuntu-latest target: s390x manylinux: auto - interpreter: all python-architecture: x64 - os: ubuntu-latest target: x86_64 manylinux: musllinux_1_1 - interpreter: all python-architecture: x64 - os: ubuntu-latest target: aarch64 manylinux: musllinux_1_1 - interpreter: all python-architecture: x64 exclude: # FIXME aarch64 builds broken, see https://github.com/PyO3/maturin/issues/2110 @@ -82,8 +73,7 @@ jobs: with: target: ${{ matrix.target }} manylinux: ${{ matrix.manylinux }} - # Keep in sync with tests.yml - args: --release --out dist --interpreter ${{ matrix.interpreter == 'all' && '3.8 3.9 3.10 3.11 3.12' || matrix.interpreter }} + args: --release --out dist rust-toolchain: stable docker-options: -e CI @@ -93,7 +83,7 @@ jobs: - uses: actions/upload-artifact@v4 with: - name: dist-${{ matrix.os }}-${{ matrix.target }}-${{ matrix.interpreter }}-${{ matrix.manylinux }}-${{ matrix.python-architecture }} + name: dist-${{ matrix.os }}-${{ matrix.target }}-${{ matrix.manylinux }}-${{ matrix.python-architecture }} path: dist sdist: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 09e2004..4d61eee 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -15,10 +15,8 @@ jobs: runs-on: ${{ matrix.platform.os }} strategy: matrix: - # Keep in sync with: - # - dists.yml - # - the c_impl tests below - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + # Keep in sync with c_impl tests below + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] rust-toolchain: [stable, beta, nightly] platform: [ { os: "ubuntu-latest", python-architecture: "x64", rust-target: "x86_64-unknown-linux-gnu", name: "ubuntu-x64" }, @@ -58,10 +56,8 @@ jobs: runs-on: ${{ matrix.platform.os }} strategy: matrix: - # Keep in sync with: - # - dists.yml - # - the rust_impl tests above - python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] + # Keep in sync with rust_impl tests above + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13"] platform: [ # This list should be kept in sync with dists.yml. { os: "ubuntu-latest", python-architecture: "x64", name: "ubuntu-x64" }, diff --git a/Cargo.toml b/Cargo.toml index a38fe55..0d20953 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -23,5 +23,5 @@ neon = ["blake3/neon"] [dependencies] blake3 = { version = "1.5", features = ["mmap", "rayon"] } hex = "0.4.2" -pyo3 = { version = "0.20.0", features = ["extension-module"] } +pyo3 = { version = "0.20.0", features = ["abi3-py38", "extension-module"] } rayon = "1.2.1"