Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,27 @@ jobs:
python -m pip install pytest
python -m pytest tests/test_freethreading.py::ExtensionConcurrencyTestCase -v

# The release workflow is the only other place cibuildwheel runs, so its
# config rots invisibly: the stale musllinux_1_1 image pin killed release
# run 27423060149 at startup despite fully green PR checks. cibuildwheel
# resolves every image option upfront (verified: a bad musllinux pin fails
# this job in seconds even though it builds a manylinux target), so
# building one real wheel here surfaces config breakage — and runs the
# in-container block-import smoke test — on every PR instead of at
# release time.
cibuildwheel-smoke:
name: cibuildwheel config + single-wheel build
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Build one wheel through cibuildwheel
# Keep the version in lockstep with the release workflow
# (.github/workflows/actions.yml) — validating with a different
# cibuildwheel than the release uses defeats the purpose.
uses: pypa/cibuildwheel@v3.4.1
with:
only: cp314t-manylinux_x86_64

coveralls-finished:
name: Indicate completion to coveralls.io
needs: tests
Expand Down
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,12 @@
0.2.10 had shipped one, so interpreters without a prebuilt wheel had
no installable artifact. The sdist bundles the pre-generated Cython C
and builds without Cython.
- Linux wheels are built on the `manylinux_2_28` / `musllinux_1_2`
images (cibuildwheel 3.x removed `musllinux_1_1`, and the frozen
`manylinux2014` images predate Python 3.14). auditwheel still grades
each wheel by the symbols it actually needs — the extensions grade to
`manylinux2014`/`manylinux_2_17`, so old-glibc compatibility is
preserved.

## [0.2.3] - 2022-02-07
### Added
Expand Down
19 changes: 5 additions & 14 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -40,20 +40,11 @@ test-extras = []

container-engine = "docker"

manylinux-x86_64-image = "manylinux2014"
manylinux-i686-image = "manylinux2014"
manylinux-aarch64-image = "manylinux2014"
manylinux-ppc64le-image = "manylinux2014"
manylinux-s390x-image = "manylinux2014"
manylinux-pypy_x86_64-image = "manylinux2014"
manylinux-pypy_i686-image = "manylinux2014"
manylinux-pypy_aarch64-image = "manylinux2014"

musllinux-x86_64-image = "musllinux_1_1"
musllinux-i686-image = "musllinux_1_1"
musllinux-aarch64-image = "musllinux_1_1"
musllinux-ppc64le-image = "musllinux_1_1"
musllinux-s390x-image = "musllinux_1_1"
# No image pins: cibuildwheel 3.x rejects the musllinux_1_1 alias outright,
# and the manylinux2014 images froze at CentOS 7 EOL without Python 3.14 —
# neither can build cp314/cp314t. The 3.4.1 defaults (manylinux_2_28 /
# musllinux_1_2) carry every interpreter we target; older-glibc systems
# install from the sdist.


[tool.cibuildwheel.linux]
Expand Down
Loading