Skip to content

Commit

Permalink
Build wheels for Python 3.13 (#260)
Browse files Browse the repository at this point in the history
* Try to support 3.13 wheels

* Exclude aarch64

* manually install python versions

* manually pass github paths

* update interepter call

* restore all wheels
  • Loading branch information
kylebarron authored Nov 21, 2024
1 parent 652eb6d commit cfcfd8f
Show file tree
Hide file tree
Showing 2 changed files with 304 additions and 277 deletions.
49 changes: 31 additions & 18 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,9 @@ jobs:
target: x86_64
- runner: ubuntu-latest
target: x86
- runner: ubuntu-latest
target: aarch64
# Need to fix ring compilation: https://github.com/briansmith/ring/issues/1414#issuecomment-1055177218
# - runner: ubuntu-latest
# target: aarch64
- runner: ubuntu-latest
target: armv7
- runner: ubuntu-latest
Expand All @@ -42,16 +43,26 @@ jobs:
- arro3-io
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5

- name: Install uv
uses: astral-sh/setup-uv@v3
with:
python-version: 3.x
enable-cache: true
version: "0.4.x"

- name: Install Python versions
run: uv python install 3.9 3.10 3.11 3.12 3.13 pypy3.10

- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter --manifest-path ${{ matrix.module }}/Cargo.toml
# As of Nov 2024, it was necessary to manually specify -i 3.13 to get
# maturin to find the executable. --find-interpreter did not find it.
args: --release --out dist -i 3.9 -i 3.10 -i 3.11 -i 3.12 -i 3.13 -i pypy3.10 --manifest-path ${{ matrix.module }}/Cargo.toml
sccache: "true"
manylinux: auto

- name: Upload wheels
uses: actions/upload-artifact@v4
with:
Expand All @@ -77,14 +88,15 @@ jobs:
- arro3-io
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x

- name: Install Python versions
run: uv python install 3.9 3.10 3.11 3.12 3.13 pypy3.10

- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter --manifest-path ${{ matrix.module }}/Cargo.toml
args: --release --out dist -i 3.9 -i 3.10 -i 3.11 -i 3.12 -i 3.13 -i pypy3.10 --manifest-path ${{ matrix.module }}/Cargo.toml
sccache: "true"
manylinux: musllinux_1_2
- name: Upload wheels
Expand All @@ -106,15 +118,15 @@ jobs:
- arro3-io
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x
architecture: ${{ matrix.platform.target }}

- name: Install Python versions
run: uv python install 3.9 3.10 3.11 3.12 3.13 pypy3.10

- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter --manifest-path ${{ matrix.module }}/Cargo.toml
args: --release --out dist -i 3.9 -i 3.10 -i 3.11 -i 3.12 -i 3.13 -i pypy3.10 --manifest-path ${{ matrix.module }}/Cargo.toml
sccache: "true"
- name: Upload wheels
uses: actions/upload-artifact@v4
Expand All @@ -137,14 +149,15 @@ jobs:
- arro3-io
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: 3.x

- name: Install Python versions
run: uv python install 3.9 3.10 3.11 3.12 3.13 pypy3.10

- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.platform.target }}
args: --release --out dist --find-interpreter --manifest-path ${{ matrix.module }}/Cargo.toml
args: --release --out dist -i 3.9 -i 3.10 -i 3.11 -i 3.12 -i 3.13 -i pypy3.10 --manifest-path ${{ matrix.module }}/Cargo.toml
sccache: "true"
- name: Upload wheels
uses: actions/upload-artifact@v4
Expand Down
Loading

0 comments on commit cfcfd8f

Please sign in to comment.