Skip to content

Commit 39f8e28

Browse files
Update cibuildwheel config to stop building Python 3.9 and free-threaded wheels (#19154)
1 parent 72073d8 commit 39f8e28

File tree

3 files changed

+24
-11
lines changed

3 files changed

+24
-11
lines changed

.github/workflows/release-artifacts.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -150,12 +150,14 @@ jobs:
150150
- name: Build wheels
151151
run: python -m cibuildwheel --output-dir wheelhouse
152152
env:
153-
# Skip testing for platforms which various libraries don't have wheels
154-
# for, and so need extra build deps.
153+
# The platforms that we build for are determined by the
154+
# `tool.cibuildwheel.skip` option in `pyproject.toml`.
155+
156+
# We skip testing wheels for the following platforms in CI:
155157
#
156-
# cp39-*: Python 3.9 is EOL.
157-
# cp3??t-*: Free-threaded builds are not currently supported.
158-
CIBW_TEST_SKIP: pp3*-* cp39-* cp3??t-* *i686* *musl*
158+
# pp3*-* (PyPy wheels) broke in CI (TODO: investigate).
159+
# musl: (TODO: investigate).
160+
CIBW_TEST_SKIP: pp3*-* *musl*
159161

160162
- uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
161163
with:

changelog.d/19154.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Properly stop building wheels for Python 3.9 and free-threaded CPython.

pyproject.toml

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -392,13 +392,23 @@ build-backend = "poetry.core.masonry.api"
392392

393393
[tool.cibuildwheel]
394394
# Skip unsupported platforms (by us or by Rust).
395-
# See https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip for the list of build targets.
395+
#
396+
# See https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip for the
397+
# list of supported build targets.
398+
#
399+
# Also see `.github/workflows/release-artifacts.yml` for the list of
400+
# architectures we build for (based on the runner OS types we use), as well as
401+
# the platforms we exclude from testing in CI.
402+
#
396403
# We skip:
397-
# - CPython 3.8: EOLed
398-
# - musllinux i686: excluded to reduce number of wheels we build.
399-
# c.f. https://github.com/matrix-org/synapse/pull/12595#discussion_r963107677
400-
skip = "cp38* *-musllinux_i686"
401-
# Enable non-default builds.
404+
# - free-threaded cpython builds: these are not currently supported.
405+
# - cp38: Python 3.8 is end-of-life.
406+
# - cp39: Python 3.9 is end-of-life.
407+
# - i686: We don't support 32-bit platforms.
408+
skip = "cp3??t-* cp38-* cp39-* *i686*"
409+
# Enable non-default builds. See the list of available options:
410+
# https://cibuildwheel.pypa.io/en/stable/options#enable
411+
#
402412
# "pypy" used to be included by default up until cibuildwheel 3.
403413
enable = "pypy"
404414

0 commit comments

Comments
 (0)