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

Run wheels workflow on PR and cibuildwheel github action #105

Merged
merged 4 commits into from
Oct 6, 2023

Conversation

alugowski
Copy link
Collaborator

This PR aims to improve the stability of wheels by:

  • Run the build wheels workflow on every PR and push to main, as if it was a unit test. This helps identify breaking changes early.
  • Switch cibuildwheel to use their github action, whose version is managed by dependabot. This helps identify any problems caused by new cibuildwheel versions because any updates become dependabot PRs which run the wheels workflow.

wheels.yml is configured to run on push to main and on PR. To make this sane, a new SUITESPARSE_FASTEST_BUILD option to suitesparse.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 emulated aarch64 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 of tests.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.

This was referenced Oct 6, 2023
@eriknw
Copy link
Member

eriknw commented Oct 6, 2023

Looks great!

To make this sane, a new SUITESPARSE_FASTEST_BUILD option to suitesparse.sh is added that omits every optional compilation feature I know to make the build as fast as possible. Feel free to suggest more.

Maybe also set COMPACT and maybe NJIT. I'll try this in a separate PR (as a test :) ).

@eriknw eriknw merged commit 84e41c2 into GraphBLAS:main Oct 6, 2023
23 checks passed
@alugowski alugowski deleted the wheels_pr branch October 7, 2023 02:01
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