Skip to content

CI: add Python 3.14 support, drop win32 wheels#55

Merged
maresb merged 4 commits intocutde-org:mainfrom
maresb:ci/python-3.14-and-drop-win32
Mar 6, 2026
Merged

CI: add Python 3.14 support, drop win32 wheels#55
maresb merged 4 commits intocutde-org:mainfrom
maresb:ci/python-3.14-and-drop-win32

Conversation

@maresb
Copy link
Copy Markdown
Collaborator

@maresb maresb commented Mar 6, 2026

Summary

  • Add Python 3.14 to the build and test matrix. cibuildwheel now builds cp314 wheels on all platforms, setup-python provisions 3.14 for testing, and the PR filter exercises cp38 + cp314 as the extremal versions.
  • Skip free-threaded (cp314t) builds. Neither scipy nor matplotlib ship stable free-threaded wheels yet, so cp*t-* is added to CIBW_SKIP to avoid untestable artifacts.
  • Stop building 32-bit Windows wheels. scipy and matplotlib have dropped win32 support, making these wheels impossible to test in CI. CIBW_ARCHS_WINDOWS: AMD64 restricts builds to 64-bit, and the windows-x86 test matrix entry is removed.

Made with Cursor

maresb added 4 commits March 6, 2026 14:13
cibuildwheel v3.4.0 builds cp314 wheels by default, but our
setup-python step only listed 3.8-3.13. Add 3.14 so these wheels
can be tested.

Skip free-threaded (cp*t) builds for now since they require a
free-threaded interpreter that our test infrastructure doesn't yet
provision.

Made-with: Cursor
scipy and matplotlib have dropped 32-bit Windows support, making
win32 wheels untestable in CI.  Since publish-package now gates on
test_wheels, untestable jobs would block every release.

Set CIBW_ARCHS_WINDOWS: AMD64 and remove the windows-x86 test
matrix entry.  The win32 platform detection in test_wheels.py is
left in place for potential future use.

Made-with: Cursor
Update the CIBW_BUILD PR filter from cp38/cp313 to cp38/cp314 so
the newest supported version is exercised on every pull request.

Made-with: Cursor
Add set -euxo pipefail so a curl failure propagates through the pipe
instead of being silently swallowed.  Add --fail and --retry 3 to curl,
and verify libomp.dylib exists after extraction.

Made-with: Cursor
@maresb maresb merged commit ee0f5e2 into cutde-org:main Mar 6, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant