-
Notifications
You must be signed in to change notification settings - Fork 151
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
Deduplicate wheel job definitions and update cibuildwheel #753
Conversation
This commit simplifies the wheel action configuration and deduplicates much of the job definitions. This is done primarily by unifying the cibuildwheel configuration in the pyproject.toml to set default values for all the common options. Then the separate duplicated install and run job stages are switched over to the native action published by cibuildwheel which deduplicates the configuration further. At the same time this commit bumps the configuration to use the latest version of cibuildwheel.
Marking as on hold until I test the new configuration works as expected. |
This commit is just for testing it changes the trigger for the wheel jobs to run on PRs and disable all the stages which upload to pypi and also removes jobs which don't use cibuildwheel because that's all we're testing here.
Pull Request Test Coverage Report for Build 3623830952
💛 - Coveralls |
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.
This would remove a good chunk of code duplication, I just left a comment about rustworkx-core
rustworkx-core: | ||
name: Publish rustworkx-core | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions-rs/toolchain@v1 | ||
with: | ||
toolchain: stable | ||
override: true | ||
- name: Run cargo publish | ||
run: | | ||
cd rustworkx-core | ||
cargo publish | ||
env: | ||
CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} |
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.
If I understood well, rustworkx-core
will not be published by the action? Is this a mistake?
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.
This pr is still configured for testing, once I've got everything in a good place (I think I just need to split out the s390x amd and ppc64le jobs in 2 parts) I will revert 31ba30e and remove the on hold label
This commit applies the various fixes needed to the wheel publishing job definitions for the 0.13.0 release. There were several jon errors during the release which were caused by various changes made to rustworkx, upstream dependencies, and CI environment since the 0.12.0 which caused issues during the release process. Qiskit#753 should still be finished to simplify the job definitions, but that should be rebased to take this more targeted fix. The intent is for this to be a minimal diff for backporting to stable/0.13 for a future 0.13.1 release. Of particular importance here though is the change in support tier for s390x from 3 to 4. This was caused by repeated issues with timeouts caused by running tests during the s390x linux wheel builds. To ensure we can reliably build the wheels this drops the testing from the s390x so that they can reliably complete in 12 job hours.
* Apply wheel job fixes from 0.13.0 release This commit applies the various fixes needed to the wheel publishing job definitions for the 0.13.0 release. There were several jon errors during the release which were caused by various changes made to rustworkx, upstream dependencies, and CI environment since the 0.12.0 which caused issues during the release process. #753 should still be finished to simplify the job definitions, but that should be rebased to take this more targeted fix. The intent is for this to be a minimal diff for backporting to stable/0.13 for a future 0.13.1 release. Of particular importance here though is the change in support tier for s390x from 3 to 4. This was caused by repeated issues with timeouts caused by running tests during the s390x linux wheel builds. To ensure we can reliably build the wheels this drops the testing from the s390x so that they can reliably complete in 12 job hours. * Fix docs * Update releasenotes/notes/s390x-tier-4-1701a0f044759cd1.yaml * Update releasenotes/notes/s390x-tier-4-1701a0f044759cd1.yaml Co-authored-by: Edwin Navarro <enavarro@comcast.net> --------- Co-authored-by: Edwin Navarro <enavarro@comcast.net>
* Apply wheel job fixes from 0.13.0 release This commit applies the various fixes needed to the wheel publishing job definitions for the 0.13.0 release. There were several jon errors during the release which were caused by various changes made to rustworkx, upstream dependencies, and CI environment since the 0.12.0 which caused issues during the release process. #753 should still be finished to simplify the job definitions, but that should be rebased to take this more targeted fix. The intent is for this to be a minimal diff for backporting to stable/0.13 for a future 0.13.1 release. Of particular importance here though is the change in support tier for s390x from 3 to 4. This was caused by repeated issues with timeouts caused by running tests during the s390x linux wheel builds. To ensure we can reliably build the wheels this drops the testing from the s390x so that they can reliably complete in 12 job hours. * Fix docs * Update releasenotes/notes/s390x-tier-4-1701a0f044759cd1.yaml * Update releasenotes/notes/s390x-tier-4-1701a0f044759cd1.yaml Co-authored-by: Edwin Navarro <enavarro@comcast.net> --------- Co-authored-by: Edwin Navarro <enavarro@comcast.net> (cherry picked from commit 8720cd3)
* Apply wheel job fixes from 0.13.0 release This commit applies the various fixes needed to the wheel publishing job definitions for the 0.13.0 release. There were several jon errors during the release which were caused by various changes made to rustworkx, upstream dependencies, and CI environment since the 0.12.0 which caused issues during the release process. #753 should still be finished to simplify the job definitions, but that should be rebased to take this more targeted fix. The intent is for this to be a minimal diff for backporting to stable/0.13 for a future 0.13.1 release. Of particular importance here though is the change in support tier for s390x from 3 to 4. This was caused by repeated issues with timeouts caused by running tests during the s390x linux wheel builds. To ensure we can reliably build the wheels this drops the testing from the s390x so that they can reliably complete in 12 job hours. * Fix docs * Update releasenotes/notes/s390x-tier-4-1701a0f044759cd1.yaml * Update releasenotes/notes/s390x-tier-4-1701a0f044759cd1.yaml Co-authored-by: Edwin Navarro <enavarro@comcast.net> --------- Co-authored-by: Edwin Navarro <enavarro@comcast.net> (cherry picked from commit 8720cd3) Co-authored-by: Matthew Treinish <mtreinish@kortar.org>
As part of the 0.13.2 release we added support for Python 3.12 and musllinux to rustworkx. However, these changes did not happen on main yet. This commit applies the necessary changes to the main branch for the 0.14.0 and future releases. Also to simplify the configuration of the cibuildwheel jobs this combines Qiskit#753 into this PR so that the configuration is centralized in the pyproject.toml.
As part of the 0.13.2 release we added support for Python 3.12 and musllinux to rustworkx. However, these changes did not happen on main yet. This commit applies the necessary changes to the main branch for the 0.14.0 and future releases. Also to simplify the configuration of the cibuildwheel jobs this combines Qiskit#753 into this PR so that the configuration is centralized in the pyproject.toml.
Superseded by #997 |
* Add support for Python 3.12 and musllinux to main As part of the 0.13.2 release we added support for Python 3.12 and musllinux to rustworkx. However, these changes did not happen on main yet. This commit applies the necessary changes to the main branch for the 0.14.0 and future releases. Also to simplify the configuration of the cibuildwheel jobs this combines #753 into this PR so that the configuration is centralized in the pyproject.toml. * DNM: Test wheel build configuration * Remove testtools usage from test suite * Don't require blas on numpy install * Fix docs typo * Drop musl on aarch64 * Try installing openblas to fix numpy build * Fix toml syntax * Adjust override to use allowed fields only * Fix toml syntax again * Switch back to pip command * Downgrade pp64le to tier 4 and skip tests * Fix apk command copy paste error * Raise minimum supported macOS version to 10.12 In Rust 1.74 the Rust programming language is raising their minimum support macOS version to 10.12, so rustworkx is raising it's supported version of macOS to match this. * Tweak test skip regex * Split arm into 2 jobs * Revert "DNM: Test wheel build configuration" This reverts commit 57dd451.
This commit simplifies the wheel action configuration and deduplicates much of the job definitions. This is done primarily by unifying the cibuildwheel configuration in the pyproject.toml to set default values for all the common options. Then the separate duplicated install and run job stages are switched over to the native action published by cibuildwheel which deduplicates the configuration further. At the same time this commit bumps the configuration to use the latest version of cibuildwheel.