Skip to content

Commit 676e490

Browse files
seddonymclaude
andcommitted
Fix missing macOS wheels for regular Python 3.14+
Co-installing the regular and free-threaded interpreters in the same setup-python step and relying on `maturin build --find-interpreter` causes the free-threaded interpreter to shadow the regular one on PATH on macOS (both install a `python3.14` binary), so no regular cp314 wheel gets built. This is the same class of issue already fixed for Windows in ec5eca2; apply the same separate-steps fix to the macos job. Fixes #317. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 286f0f5 commit 676e490

2 files changed

Lines changed: 28 additions & 3 deletions

File tree

‎.github/workflows/release.yml‎

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,16 +170,35 @@ jobs:
170170
3.12
171171
3.13
172172
3.14
173-
3.14t
174173
3.15
175-
3.15t
176174
allow-prereleases: true
177175
- name: Build wheels
178176
uses: PyO3/maturin-action@v1
179177
with:
180178
target: ${{ matrix.platform.target }}
181-
args: --release --out dist --find-interpreter
179+
args: --release --out dist --interpreter 3.10 3.11 3.12 3.13 3.14 3.15
180+
sccache: 'true'
181+
182+
# setup-python installs the free-threaded interpreter's binary under the
183+
# same name as the regular one (e.g. `python3.14`), so co-installing
184+
# both and using --find-interpreter silently drops the regular wheel
185+
# (whichever interpreter is installed second shadows the other on
186+
# PATH). Building free-threaded wheels in a separate step avoids this.
187+
# See https://github.com/pyo3/maturin-action#windows-build-the-regular-and-free-threaded-interpreters-in-separate-jobs
188+
# and https://github.com/python-grimp/grimp/issues/317.
189+
- uses: actions/setup-python@v6
190+
with:
191+
python-version: |
192+
3.14t
193+
3.15t
194+
allow-prereleases: true
195+
- name: Build free-threaded wheels
196+
uses: PyO3/maturin-action@v1
197+
with:
198+
target: ${{ matrix.platform.target }}
199+
args: --release --out dist --interpreter 3.14t 3.15t
182200
sccache: 'true'
201+
183202
- name: Upload wheels
184203
uses: actions/upload-artifact@v4
185204
with:

‎CHANGELOG.rst‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
Changelog
33
=========
44

5+
latest
6+
------
7+
8+
* Fix missing macOS wheels for regular (non-freethreaded) Python 3.14+
9+
(https://github.com/python-grimp/grimp/issues/317).
10+
511
3.17 (2026-09-04)
612
-----------------
713

0 commit comments

Comments
 (0)