11name : Wheels
22
33on :
4+ pull_request :
45 workflow_dispatch :
56 inputs :
67 release :
1920 python-version :
2021 - " 3.x"
2122 - " pypy-3.10"
23+ - " pypy-3.11"
2224 - " graalpy-24"
2325 arch :
2426 - x86_64
3032 - macos
3133
3234 exclude :
33- - platform : windows
34- arch : aarch64
3535 - platform : windows
3636 python-version : graalpy-24
3737
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 :
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