Skip to content

Commit 88105e7

Browse files
committed
Build wheels for both x86 and arm64
Fixes #12
1 parent 67ed305 commit 88105e7

File tree

1 file changed

+40
-13
lines changed

1 file changed

+40
-13
lines changed

.github/workflows/pyo3-wheels.yml

Lines changed: 40 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
name: Wheels
22

33
on:
4+
pull_request:
45
workflow_dispatch:
56
inputs:
67
release:
@@ -19,6 +20,7 @@ jobs:
1920
python-version:
2021
- "3.x"
2122
- "pypy-3.10"
23+
- "pypy-3.11"
2224
- "graalpy-24"
2325
arch:
2426
- x86_64
@@ -30,8 +32,6 @@ jobs:
3032
- macos
3133

3234
exclude:
33-
- platform: windows
34-
arch: aarch64
3535
- platform: windows
3636
python-version: graalpy-24
3737

@@ -62,6 +62,26 @@ jobs:
6262
- uses: actions/setup-python@v5
6363
with:
6464
python-version: ${{ matrix.python-version }}
65+
66+
- uses: actions/cache@v4
67+
with:
68+
path: |
69+
~/.cargo/bin/
70+
~/.cargo/registry/index/
71+
~/.cargo/registry/cache/
72+
~/.cargo/git/db/
73+
target/
74+
key: ${{ runner.os }}-cargo-${{ hashFiles('ua-parser-py/Cargo.toml') }}
75+
restore-keys: |
76+
${{ runner.os }}-cargo-
77+
78+
- uses: actions/cache@v4
79+
with:
80+
path: |
81+
~/.cache/pip
82+
~/.cache/pip-graalpy
83+
key: ${{ runner.os }}-pip-maturin-${{ matrix.python-version }}
84+
6585
- name: Build wheels
6686
uses: PyO3/maturin-action@v1
6787
with:
@@ -98,6 +118,7 @@ jobs:
98118
needs: py-release-wheels
99119

100120
strategy:
121+
fail-fast: false
101122
matrix:
102123
python-version:
103124
- "3.9"
@@ -106,38 +127,38 @@ jobs:
106127
- "3.12"
107128
- "3.13"
108129
- "pypy-3.10"
130+
- "pypy-3.11"
109131
- "graalpy-24"
110132
platform:
111133
- linux
112134
# probably requires a custom image of some sort
113135
# - musllinux
114136
- windows
115137
- macos
138+
arch:
139+
- x86_64
140+
- aarch64
116141

117142
exclude:
118143
- platform: windows
119144
python-version: graalpy-24
120145

121146
include:
122-
# would probably need to run qemu inside the thing to full
123-
# test the archs...
124-
- arch: x86_64
125-
- platform: macos
126-
arch: aarch64
127-
128147
- wheel: "3.x"
129148
- python-version: "pypy-3.10"
130149
wheel: "pypy-3.10"
150+
- python-version: "pypy-3.11"
151+
wheel: "pypy-3.11"
131152
- python-version: "graalpy-24"
132153
wheel: "graalpy-24"
133154

134-
- runs: ubuntu-latest
155+
- runner: ubuntu-latest
135156
- platform: windows
136-
runs: windows-latest
157+
runner: windows-latest
137158
- platform: macos
138-
runs: macos-latest
159+
runner: macos-latest
139160

140-
runs-on: ${{ matrix.runs }}
161+
runs-on: ${{ matrix.runner }}
141162

142163
steps:
143164
- name: Checkout working copy
@@ -150,6 +171,12 @@ jobs:
150171
with:
151172
python-version: ${{ matrix.python-version }}
152173
allow-prereleases: true
174+
- uses: actions/cache@v4
175+
with:
176+
path: |
177+
~/.cache/pip
178+
~/.cache/pip-graalpy
179+
key: ${{ runner.os }}-pip-${{ matrix.python-version }}
153180
- name: Retrieve wheel
154181
uses: actions/download-artifact@v4
155182
with:
@@ -177,7 +204,7 @@ jobs:
177204
name: Release
178205
runs-on: ubuntu-latest
179206
needs: [py-release-tests, py-release-sdist]
180-
if: ${{ inputs.release }}
207+
if: ${{ github.event == 'workflow_dispatch' && inputs.release }}
181208
permissions:
182209
# Use to sign the release artifacts
183210
id-token: write

0 commit comments

Comments
 (0)