-
Notifications
You must be signed in to change notification settings - Fork 368
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
ci: Drop cibuildwheel matrix generation #2450
Conversation
I see I haven't contributed in a long while considering I signed the CLA when it was v4. |
af4d2c0
to
6f5d850
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
:( Sorry, I could have sworn I checked 3.13 wheels earlier but I must have been looking at the test matrix instead. Thanks for the really quick investigation and fix here!
I wonder if this is more fancy than necessary and we should just do the serial builds on each OS like most other projects...
Looks like all tests and builds are green. Can you merge and make a new release when you're ready?
Yes, this does do a bit of a weird thing in that it assumes the location that cibuildwheel gets installed. Builds take about 0.5-2 minutes each (unlike, e.g., Matplotlib's 10-60 for all versions combined in its matrix), so maybe it's just easier to simplify to per-arch/platform? |
We used to install cibuildwheel manually in order to generate the Python-version matrix. This means that dependabot does not notice or update it. This is normally fine, but when cibuildwheel adds new Python versions, they won't be in the generated matrix until the pin is updated. Since our builds are relatively quick, drop the job matrix generation and just split by platform/arch. Also, expand the jq arguments so it's a bit clearer what it does, and limit workflow permissions.
Do we want to enable free-threading wheels as well? Or possibly PyPy too? |
All in all, I'd suggest just going with your minimal change here. I like the simplification of the build too, thanks for consolidating that! |
I'm just running tests on Fedora now, so won't release yet, just in case there's some followup there. |
Rationale
We used to install cibuildwheel manually in order to generate the Python-version matrix. This means that dependabot does not notice or update it. This is normally fine, but when cibuildwheel adds new Python versions, they won't be in the generated matrix until the pin is updated.
Since our builds are relatively quick, drop the job matrix generation and just split by platform/arch.
Also, expand the jq arguments so it's a bit clearer what it does, and limit workflow permissions.
Implications
This should add Python 3.13 wheels to the matrix.