Run wheels workflow on PR and cibuildwheel github action #105
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR aims to improve the stability of wheels by:
main
, as if it was a unit test. This helps identify breaking changes early.wheels.yml
is configured to run on push to main and on PR. To make this sane, a newSUITESPARSE_FASTEST_BUILD
option tosuitesparse.sh
is added that omits every optional compilation feature I know to make the build as fast as possible. Feel free to suggest more. Building GraphBLAS in CI seems to take 5-10 minutes in this configuration. The emulatedaarch64
obviously sill takes much longer than that.I added safeties to disable the upload to PyPI step unless this is triggered by a release. I have not tested the "it's a release" branch of that
if
.Notable things to look for in dependabot's cibuildwheel updates is support for new Python versions that may or may not work, and deprecation of existing Python versions. Expect cibuildwheel updates about once a month.
One note is that a non-release run of this workflow still needs a GraphBLAS version to pass to
suitesparse.sh
. In this PR I followed the example oftests.yml
and just hard-coded 8.2.0. Release builds should still fetch the version number from the git tag (though I have not tested this). If there is a better way to get the GraphBLAS version feel free not make the change.