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

Deduplicate wheel job definitions and update cibuildwheel #753

Closed
wants to merge 4 commits into from

Conversation

mtreinish
Copy link
Member

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.

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.
@mtreinish
Copy link
Member Author

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.
@coveralls
Copy link

coveralls commented Nov 28, 2022

Pull Request Test Coverage Report for Build 3623830952

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.06%) to 96.979%

Totals Coverage Status
Change from base Build 3621874818: 0.06%
Covered Lines: 13643
Relevant Lines: 14068

💛 - Coveralls

Copy link
Collaborator

@IvanIsCoding IvanIsCoding left a 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

Comment on lines -8 to -22
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 }}
Copy link
Collaborator

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?

Copy link
Member Author

@mtreinish mtreinish Dec 1, 2022

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

mtreinish added a commit to mtreinish/retworkx that referenced this pull request Jun 8, 2023
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.
mergify bot pushed a commit that referenced this pull request Jun 16, 2023
* 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>
mergify bot pushed a commit that referenced this pull request Jun 16, 2023
* 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)
enavarro51 pushed a commit that referenced this pull request Jun 17, 2023
* 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>
mtreinish added a commit to mtreinish/retworkx that referenced this pull request Oct 6, 2023
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.
mtreinish added a commit to mtreinish/retworkx that referenced this pull request Oct 6, 2023
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.
@mtreinish
Copy link
Member Author

Superseded by #997

@mtreinish mtreinish closed this Oct 6, 2023
mergify bot pushed a commit that referenced this pull request Oct 10, 2023
* 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants