Skip to content

Commit 0093c3f

Browse files
committed
Make: Enable free-threading CIBW builds
1 parent 8dc7012 commit 0093c3f

File tree

3 files changed

+15
-3
lines changed

3 files changed

+15
-3
lines changed

.github/workflows/prerelease.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ jobs:
225225
env:
226226
# Matches: `cp37-manylinux_x86_64` and `cp38-musllinux_x86_64`
227227
CIBW_BUILD: cp${{ matrix.python-version }}-*
228+
CIBW_ENABLE: cpython-freethreading # No-GIL 3.13t builds
228229
CIBW_PLATFORM: linux
229230
CIBW_ARCHS: x86_64
230231

@@ -262,6 +263,7 @@ jobs:
262263
env:
263264
# Matches: `cp37-manylinux_aarch64` and `cp38-musllinux_aarch64`
264265
CIBW_BUILD: cp${{ matrix.python-version }}-*
266+
CIBW_ENABLE: cpython-freethreading # No-GIL 3.13t builds
265267
CIBW_PLATFORM: linux
266268
CIBW_ARCHS: aarch64
267269

@@ -285,6 +287,7 @@ jobs:
285287
cibuildwheel --output-dir wheelhouse
286288
env:
287289
CIBW_BUILD: cp${{ matrix.python-version }}-*
290+
CIBW_ENABLE: cpython-freethreading # No-GIL 3.13t builds
288291
CIBW_PLATFORM: macos
289292
CIBW_ARCHS: x86_64
290293

@@ -308,6 +311,7 @@ jobs:
308311
cibuildwheel --output-dir wheelhouse
309312
env:
310313
CIBW_BUILD: cp${{ matrix.python-version }}-*
314+
CIBW_ENABLE: cpython-freethreading # No-GIL 3.13t builds
311315
CIBW_PLATFORM: macos
312316
CIBW_ARCHS: arm64
313317

@@ -350,6 +354,7 @@ jobs:
350354
cibuildwheel --output-dir wheelhouse
351355
env:
352356
CIBW_BUILD: cp${{ matrix.python-version }}-win_${{ matrix.architecture }}
357+
CIBW_ENABLE: cpython-freethreading # No-GIL 3.13t builds
353358
CIBW_PLATFORM: windows
354359

355360
build_wheels_other:
@@ -375,5 +380,6 @@ jobs:
375380
env:
376381
# https://cibuildwheel.pypa.io/en/stable/options/#archs
377382
CIBW_BUILD: cp${{ matrix.python-version }}-*
383+
CIBW_ENABLE: cpython-freethreading # No-GIL 3.13t builds
378384
CIBW_PLATFORM: linux
379385
CIBW_ARCHS: ppc64le s390x i686 #! `armv7l` not worth the trouble

.github/workflows/release.yml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,7 @@ jobs:
9090
cibuildwheel --output-dir wheelhouse
9191
env:
9292
CIBW_BUILD: cp${{ matrix.python-version }}-*
93+
CIBW_ENABLE: cpython-freethreading # No-GIL 3.13t builds
9394
CIBW_PLATFORM: linux
9495
CIBW_ARCHS: x86_64
9596
- name: Upload wheels
@@ -133,6 +134,7 @@ jobs:
133134
cibuildwheel --output-dir wheelhouse
134135
env:
135136
CIBW_BUILD: cp${{ matrix.python-version }}-*
137+
CIBW_ENABLE: cpython-freethreading # No-GIL 3.13t builds
136138
CIBW_PLATFORM: linux
137139
CIBW_ARCHS: aarch64
138140
- name: Upload wheels
@@ -163,6 +165,7 @@ jobs:
163165
cibuildwheel --output-dir wheelhouse
164166
env:
165167
CIBW_BUILD: cp${{ matrix.python-version }}-*
168+
CIBW_ENABLE: cpython-freethreading # No-GIL 3.13t builds
166169
CIBW_PLATFORM: macos
167170
CIBW_ARCHS: x86_64
168171
- name: Upload wheels
@@ -179,7 +182,7 @@ jobs:
179182
strategy:
180183
matrix:
181184
# 3.7 not supported on macOS ARM
182-
python-version: ["38", "39", "310", "311", "312", "313"]
185+
python-version: ["38", "39", "310", "311", "312", "313", "313t"]
183186
steps:
184187
- uses: actions/checkout@v4
185188
with:
@@ -194,6 +197,7 @@ jobs:
194197
cibuildwheel --output-dir wheelhouse
195198
env:
196199
CIBW_BUILD: cp${{ matrix.python-version }}-*
200+
CIBW_ENABLE: cpython-freethreading # No-GIL 3.13t builds
197201
CIBW_PLATFORM: macos
198202
CIBW_ARCHS: arm64
199203
- name: Upload wheels
@@ -242,6 +246,7 @@ jobs:
242246
cibuildwheel --output-dir wheelhouse
243247
env:
244248
CIBW_BUILD: cp${{ matrix.python-version }}-win_${{ matrix.architecture }}
249+
CIBW_ENABLE: cpython-freethreading # No-GIL 3.13t builds
245250
CIBW_PLATFORM: windows
246251
- name: Upload wheels
247252
uses: actions/upload-artifact@v4
@@ -274,6 +279,7 @@ jobs:
274279
env:
275280
# e.g. ppc64le, s390x, i686, etc.
276281
CIBW_BUILD: cp${{ matrix.python-version }}-*
282+
CIBW_ENABLE: cpython-freethreading # No-GIL 3.13t builds
277283
CIBW_PLATFORM: linux
278284
CIBW_ARCHS: ppc64le s390x i686
279285
- name: Upload wheels

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# - `manylinux` and `musllinux` wheels for Linux on i686, ppc64le, s390x;
55
# - `macos` wheels for x86_64, arm64;
66
# - `windows` wheels for AMD64, ARM64.
7-
# * for 7 Python versions from 3.7 to 3.13.
7+
# * for 7 Python versions from 3.8 to 3.13 (+ 3.13t).
88
# * running thousands of fuzzy tests on each wheel.
99
# = meaning 12 platforms * 7 Python versions = 84 builds.
1010
[build-system]
@@ -105,4 +105,4 @@ test-command = """
105105
# https://black.readthedocs.io/en/latest/usage_and_configuration/the_basics.html#where-black-looks-for-the-file
106106
[tool.black]
107107
line-length = 120 # Set line length to the same value as in `.clang-format` for modern wide screens
108-
target-version = ['py37', 'py312']
108+
target-version = ['py38', 'py312']

0 commit comments

Comments
 (0)