Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump cibuildwheel to build for Python 3.11 + CI total time speedups #174

Merged
merged 2 commits into from
Aug 12, 2022
Merged

Bump cibuildwheel to build for Python 3.11 + CI total time speedups #174

merged 2 commits into from
Aug 12, 2022

Conversation

Jackenmen
Copy link
Contributor

This PR does 3 things:

  • splits out the cibuildwheel run workflow into a separate workflow file that can be called from other workflows (deduplicates the pretty much identical setups in build-wheels.yml and release-wheels.yml)
  • cuts the total time of the CI build in half by splitting the Linux run into concurrent jobs:
    • manylinux and musllinux x86_64 & i686 (~11 minutes)
    • manylinux aarch64 (~26 minutes)
    • musllinux aarch64 (~26 minutes)
  • bumps cibuildwheel version from 2.8.1 to 2.9.0 to enable Python 3.11 builds with Python 3.11.0rc1 which is guaranteed to be ABI compatible with the final release

I wasn't entirely sure if you'll want the cibuildwheel bump done in this PR along with the changes to how the work is distributed but it's a single line change so it seemed like a reasonable idea. I can split it out into separate PR if you want me to.

@saghul
Copy link
Owner

saghul commented Aug 12, 2022

This looks like a great improvement, thank you so much!

@Jackenmen
Copy link
Contributor Author

No problem, I already said I wanted to improve the build time in my previous PR, just didn't want to scope creep there so I waited until that got merged and cibuildwheel 2.9.0 gets released to work on both at the same time 😄

@saghul saghul merged commit 06d1ecd into saghul:master Aug 12, 2022
@Jackenmen Jackenmen deleted the add_python311 branch August 12, 2022 15:13
@Jackenmen
Copy link
Contributor Author

I forgot to add Programming Language :: Python :: 3.11 classifier to setup.py so whenever you'll be releasing a new version, it would be great if you could add that as well because it's a nice way for sites such as https://pyreadiness.org/ to show which packages already support Python 3.11, thanks!

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.

2 participants