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

Add linux aarch64 wheel build support #12

Merged
merged 1 commit into from
May 4, 2022

Conversation

odidev
Copy link
Contributor

@odidev odidev commented Aug 2, 2021

Add linux aarch64 wheel build support.

Related to #11 @cher-nov Could you please review this PR?

@cher-nov
Copy link
Owner

cher-nov commented Aug 19, 2021

Thank you for contribution and sorry for the delay!

Unfortunately, the repository is now in a non-release condition, as it has been stalled in the midst of the Rust-based version development. I plan to finish it until next year, and then I'll review your PR properly.

@Lonami
Copy link
Collaborator

Lonami commented Sep 26, 2021

I think CI is working now that #13 was fixed (at least it worked on my test repo). We may try supporting aarch64 again after we polish it up and make sure it all works.

@odidev
Copy link
Contributor Author

odidev commented Feb 9, 2022

@cher-nov, did you get a chance to look into this PR? Thanks.

@Rongronggg9
Copy link
Contributor

Rongronggg9 commented May 2, 2022

Is there any news on this?
Now that cryptg v0.3 was released and is the initial RIIR-ed release, it is a suitable time to distribute aarch64 wheels along with wheels on other architectures.

RIIR is a piece of good news, meanwhile a piece of bad news. It effectively makes building it on QEMU-simulated aarch64 insanely painful. Typically speaking, despite the setup time of rustup (> 70s), cryptg needs > 700s to build. Previously the time is just 20s.

Why QEMU? GHA only provides amd64 hosted runners.

@Lonami
Copy link
Collaborator

Lonami commented May 2, 2022

I've tried to resolve the conflicts, but since we're now using cibuildwheel, I may do something wrong in the "updating" process. I see cibuildwheel has a section for Building non-native architectures using emulation which includes aarch64 but I'm not sure if there's a particular reason why the old code uses if: ${{ matrix.arch == 'aarch64' }}, whereas their example uses if: runner.os == 'Linux' and with: platforms: all, so I would rather wait on @odidev since they're OP.

However I'm open to another PR with the necessary changes from someone more knowledgeable than me if OP doesn't respond.

@Rongronggg9
Copy link
Contributor

Rongronggg9 commented May 2, 2022

if: ${{ matrix.arch == 'aarch64' }} is indeed a bit weird since there seems to be no disadvantage if we delete this line and replace it with os == Linux

@Lonami
Copy link
Collaborator

Lonami commented May 2, 2022

Maybe it means it only uses qemu for that so the others are faster to build?

@Rongronggg9
Copy link
Contributor

Maybe it means it only uses qemu for that so the others are faster to build?

Nope. Setting up QEMU would not make builds for amd64/x86 using QEMU.

@Lonami Lonami merged commit 31e4643 into cher-nov:master May 4, 2022
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.

4 participants