Skip to content
Merged
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
15 changes: 11 additions & 4 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -427,10 +427,17 @@ jobs:
strategy:
matrix:
# Modern, supported runner images (ubuntu-20.04 was retired in 2025).
# macos-15-intel -> x86_64 wheels, macos-14 -> arm64 wheels,
# windows-2022 -> AMD64 wheels. Build config lives in
# pyproject.toml's [tool.cibuildwheel] (cp3*, auto64, Cython).
os: [ubuntu-latest, macos-15-intel, macos-14, windows-2022]
# macos-15-intel -> x86_64 wheels, macos-14 -> arm64 wheels. Build
# config lives in pyproject.toml's [tool.cibuildwheel] (cp3*, auto64,
# Cython).
#
# windows-2022 is deliberately not in this list: a failure on that leg
# fails the whole `build_wheels` job (matrix legs are ANDed together
# for job success, independent of fail-fast), and `publish` needs
# `build_wheels` -- so one broken Windows build blocks every
# platform's release, not just Windows' (see #790). Re-add it once
# Windows wheel builds have proven stable again.
os: [ubuntu-latest, macos-15-intel, macos-14]
steps:
- uses: actions/checkout@v4
with:
Expand Down
11 changes: 10 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,16 @@ skip = ["*musllinux*"]
# unknown directives instead of failing, so a lower version here would quietly
# produce extensions that re-enable the GIL -- see the note in
# `[build-system].requires`.
before-build = "pip install 'Cython>=3.1'"
#
# Double-quoted, not single-quoted: cibuildwheel runs `before-build` through
# the native shell, which on windows-2022 is cmd.exe. cmd.exe does not treat
# single quotes as a quoting character, so `'Cython>=3.1'` left the `>`
# exposed as its output-redirection operator -- the command ran as `pip
# install 'Cython` with stdout redirected to a file literally named `3.1'`,
# which fails with no Cython installed. cmd.exe does honor double quotes, and
# bash/zsh treat `"..."` as a quoted string too, so this is quoted correctly
# on every platform cibuildwheel builds on here.
before-build = 'pip install "Cython>=3.1"'

manylinux-x86_64-image = "manylinux2014"
manylinux-pypy_x86_64-image = "manylinux2014"
Loading