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

Build Linux AArch64 wheels natively without QEMU #13682

Merged
merged 3 commits into from
Jan 17, 2025

Conversation

jakelishman
Copy link
Member

GitHub Actions now provides Linux runner images on native arm64 hardware1, which means we should be able to build the wheels natively, without requiring QEMU. This potentially paves the way (pending a more complete move of CI to GHA) for Linux on AArch64 to potentially gain Tier 1 platforma support.

Summary

Details and comments

Footnotes

  1. https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/

GitHub Actions now provides Linux runner images on native arm64
hardware[^1], which means we should be able to build the wheels natively,
without requiring QEMU.  This potentially paves the way (pending a more complete
move of CI to GHA) for Linux on AArch64 to potentially gain Tier 1
platforma support.

[^1]: https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/
@jakelishman jakelishman added type: qa Issues and PRs that relate to testing and code quality Changelog: None Do not include in changelog ci: test wheels Run the wheel-build scripts as an additional CI run for this PR labels Jan 17, 2025
@jakelishman jakelishman requested a review from a team as a code owner January 17, 2025 13:21
@qiskit-bot
Copy link
Collaborator

One or more of the following people are relevant to this code:

  • @Qiskit/terra-core

@coveralls
Copy link

coveralls commented Jan 17, 2025

Pull Request Test Coverage Report for Build 12831073301

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • 16 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.003%) to 88.918%

Files with Coverage Reduction New Missed Lines %
crates/qasm2/src/lex.rs 4 92.23%
crates/qasm2/src/parse.rs 12 97.15%
Totals Coverage Status
Change from base Build 12813106471: -0.003%
Covered Lines: 79449
Relevant Lines: 89351

💛 - Coveralls

@jakelishman jakelishman added the stable backport potential The bug might be minimal and/or import enough to be port to stable label Jan 17, 2025
We previously restricted the tests to a small subset of the suite
because of runtime concerns with QEMU.  Since we are now running
natively, this removes the restriction, bringing Linux AArch64 in line
with what we expect from a Tier 2 platform.
@jakelishman
Copy link
Member Author

It's all good - Linux AArch64 passed all tests. After #13474, there's a high chance that we can promote Linux AArch64 to Tier 1 platform support.

Copy link
Member

@mtreinish mtreinish left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM, I'm excited to potentially promote linux aarc64 to tier 1 in 2.0. I think when we do decided to bump it up to tier 1 we should just add this runner to the tier 1 job definition to enable pgo etc since the config is now essentially the same as the normal ubuntu latest job. But for the time being keeping it separate to not enable pgo makes sense to me.

@mtreinish mtreinish added this pull request to the merge queue Jan 17, 2025
@jakelishman
Copy link
Member Author

Yeah, I deliberately didn't move it have PGO in the build process here because I somewhat considered that a Tier 1 thing.

Merged via the queue into Qiskit:main with commit 3150351 Jan 17, 2025
24 checks passed
mergify bot pushed a commit that referenced this pull request Jan 17, 2025
* Build Linux AArch64 wheels natively without QEMU

GitHub Actions now provides Linux runner images on native arm64
hardware[^1], which means we should be able to build the wheels natively,
without requiring QEMU.  This potentially paves the way (pending a more complete
move of CI to GHA) for Linux on AArch64 to potentially gain Tier 1
platforma support.

[^1]: https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/

* Remove restriction on tests

We previously restricted the tests to a small subset of the suite
because of runtime concerns with QEMU.  Since we are now running
natively, this removes the restriction, bringing Linux AArch64 in line
with what we expect from a Tier 2 platform.

* Remove explicit architecture selection

(cherry picked from commit 3150351)

# Conflicts:
#	.github/workflows/wheels-build.yml
@jakelishman jakelishman deleted the arm64-without-qemu branch January 17, 2025 17:50
github-merge-queue bot pushed a commit that referenced this pull request Jan 18, 2025
…13684)

* Build Linux AArch64 wheels natively without QEMU (#13682)

* Build Linux AArch64 wheels natively without QEMU

GitHub Actions now provides Linux runner images on native arm64
hardware[^1], which means we should be able to build the wheels natively,
without requiring QEMU.  This potentially paves the way (pending a more complete
move of CI to GHA) for Linux on AArch64 to potentially gain Tier 1
platforma support.

[^1]: https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/

* Remove restriction on tests

We previously restricted the tests to a small subset of the suite
because of runtime concerns with QEMU.  Since we are now running
natively, this removes the restriction, bringing Linux AArch64 in line
with what we expect from a Tier 2 platform.

* Remove explicit architecture selection

(cherry picked from commit 3150351)

# Conflicts:
#	.github/workflows/wheels-build.yml

* Update .github/workflows/wheels-build.yml

---------

Co-authored-by: Jake Lishman <jake.lishman@ibm.com>
emilkovacev pushed a commit to emilkovacev/qiskit that referenced this pull request Feb 7, 2025
* Build Linux AArch64 wheels natively without QEMU

GitHub Actions now provides Linux runner images on native arm64
hardware[^1], which means we should be able to build the wheels natively,
without requiring QEMU.  This potentially paves the way (pending a more complete
move of CI to GHA) for Linux on AArch64 to potentially gain Tier 1
platforma support.

[^1]: https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/

* Remove restriction on tests

We previously restricted the tests to a small subset of the suite
because of runtime concerns with QEMU.  Since we are now running
natively, this removes the restriction, bringing Linux AArch64 in line
with what we expect from a Tier 2 platform.

* Remove explicit architecture selection
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changelog: None Do not include in changelog ci: test wheels Run the wheel-build scripts as an additional CI run for this PR stable backport potential The bug might be minimal and/or import enough to be port to stable type: qa Issues and PRs that relate to testing and code quality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants