Skip to content

Upgrade to cibuildwheel 3.3.1#407

Open
paulmelnikow wants to merge 28 commits intoreleasefrom
upgrade-cibw
Open

Upgrade to cibuildwheel 3.3.1#407
paulmelnikow wants to merge 28 commits intoreleasefrom
upgrade-cibw

Conversation

@paulmelnikow
Copy link
Contributor

@paulmelnikow paulmelnikow commented Feb 20, 2026

  • Clear a warning on build which encourages SPDX license specifier over deprecated license classifiers.
  • Remove 32-bit builds.

This is a follow-on to #405 which needs to land first.

@paulmelnikow paulmelnikow changed the title Upgrade cibw Upgrade cibuildwheel Feb 20, 2026
@paulmelnikow paulmelnikow changed the base branch from release to python-tests February 20, 2026 20:13
@paulmelnikow paulmelnikow marked this pull request as ready for review February 20, 2026 20:15
@paulmelnikow
Copy link
Contributor Author

This PR and possibly this branch will need updating once #405 is merged, but in the meantime it should be possible to review it.

@paulmelnikow paulmelnikow requested a review from syoyo February 20, 2026 20:16
@paulmelnikow paulmelnikow changed the title Upgrade cibuildwheel Upgrade to cibuildwheel 3.3.1 Feb 20, 2026
@paulmelnikow paulmelnikow changed the base branch from python-tests to release February 23, 2026 21:19
@paulmelnikow
Copy link
Contributor Author

@syoyo Ready for review

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Python packaging/CI configuration to align with newer packaging metadata expectations (SPDX-style license metadata) and to build wheels with cibuildwheel v3.3.1 in GitHub Actions.

Changes:

  • Remove deprecated license classifiers from setup.py and add explicit license metadata in pyproject.toml.
  • Add tool.cibuildwheel configuration to pyproject.toml and bump GitHub Actions to pypa/cibuildwheel@v3.3.1.
  • Adjust GitHub Actions wheel build selection to support the “quick build + test wheels” workflow.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 4 comments.

File Description
setup.py Removes license classifiers from package metadata.
pyproject.toml Adds license metadata and a global tool.cibuildwheel skip configuration.
.github/workflows/python.yml Upgrades cibuildwheel action to v3.3.1 and changes wheel build/skip selectors.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

pyproject.toml Outdated
Comment on lines +54 to +55
# Disable aarch64 build since its too slow to build(docker + qemu).
skip = ["cp38-*", "cp314t-*", "*_aarch64*"]
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[tool.cibuildwheel] skip is now global and includes "*_aarch64*", which will also disable the existing Linux aarch64 wheel build in Cirrus CI (see .cirrus.yml linux_aarch64_task running cibuildwheel). If aarch64 wheels are still intended to be published, move the aarch64 exclusion into the GitHub Actions workflow env for the slow QEMU job(s) (or set CIBW_ARCHS_LINUX=x86_64 there) rather than skipping aarch64 in pyproject.toml for all CI providers.

Suggested change
# Disable aarch64 build since its too slow to build(docker + qemu).
skip = ["cp38-*", "cp314t-*", "*_aarch64*"]
# Disable some Python versions globally; architecture-specific exclusions should be configured in CI workflows.
skip = ["cp38-*", "cp314t-*"]

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are not using Cirrus anymore so this isn't relevant.

Comment on lines +116 to +117
CIBW_ARCHS_WINDOWS: "AMD64"
# The quick build has already taken care of manylinux.
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change drops 32-bit wheel builds (Windows x86 and Linux i686) by removing them from CIBW_ARCHS_WINDOWS/CIBW_ARCHS_LINUX. If the project still supports 32-bit Python environments, this will be a packaging regression; either restore those arches or document/communicate the intentional support drop and ensure downstream release tooling expects fewer artifacts.

Suggested change
CIBW_ARCHS_WINDOWS: "AMD64"
# The quick build has already taken care of manylinux.
CIBW_ARCHS_WINDOWS: "AMD64 x86"
CIBW_ARCHS_LINUX: "x86_64 i686"
# The quick build has already taken care of manylinux_x86_64 wheels.

Copilot uses AI. Check for mistakes.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are deliberately removed.

@syoyo
Copy link
Collaborator

syoyo commented Mar 3, 2026

@paulmelnikow There are some Copilot suggestions. Also please merge release into this PR to resolve CI failures.

paulmelnikow and others added 5 commits March 3, 2026 21:14
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
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.

3 participants