8000 Add config to build aarch64 wheels by janaknat · Pull Request #47 · scikit-image/scikit-image-wheels · GitHub
[go: up one dir, main page]

Skip to content
This repository was archived by the owner on May 18, 2023. It is now read-only.

Add config to build aarch64 wheels #47

Merged
merged 1 commit into from
Oct 21, 2020
Merged

Conversation

janaknat
Copy link
Contributor

Travis-CI allows for the creation of ARM64 wheels.
Successful build log: https://travis-ci.com/github/janaknat/scikit-image-wheels

Travis-CI also supports using Graviton2 for ARM builds. To do that, the repo would have to migrate to travis-ci.com from travis-ci.org.

Basic steps:

More info at https://docs.travis-ci.com/user/migrate/open-source-repository-migration

@hmaarrfk
Copy link
Member

hmmm. i think we would have to make sure our encrypted keys get migrated as well?

@janaknat
Copy link
Contributor Author

@hmaarrfk
Copy link
Member

Ah very nice. I guess I can get on this.

@hmaarrfk
Copy link
Member

@stefanv @jni would you or an admin be able to go through the migration

@stefanv
Copy link
Member
stefanv commented Oct 21, 2020

@hmaarrfk The core team should have admin access on that repo; you don't?

@hmaarrfk
Copy link
Member

I guess not on travis
image

@stefanv
Copy link
Member
stefanv commented Oct 21, 2020

Weird, no idea why; but I applied for the beta.

@hmaarrfk hmaarrfk closed this Oct 21, 2020
@hmaarrfk hmaarrfk reopened this Oct 21, 2020
@jni
Copy link
Member
jni commented Oct 21, 2020

I thought I did this 2y ago when they first announced this. I am completely confused by their settings, admin permissions (I also don't appear to be able to change the settings for this repo on travis-ci.com), how accounts interact between GH and Travis... If someone has specific instructions for what I need to do, please let me know. Even better if I can somehow delegate to you, @hmaarrfk!

@hmaarrfk
Copy link
Member

I think it is building should be good now.

@hmaarrfk
Copy link
Member

I think we can merge.

The travis org and com thing might just cause the build to get uploaded twice. Not a big deal tough.

@stefanv stefanv merged commit dca62cf into scikit-image:master Oct 21, 2020
@stefanv
Copy link
Member
stefanv commented Oct 21, 2020

Thanks!

@janaknat
Copy link
Contributor Author

@hmaarrfk @stefanv Thanks for merging! Couple of questions:

  • What is the timeline for the wheels to show up on PyPI?
  • Are y'all open to adding ARM64 support in the travis.yml file in the main repo?

@stefanv
Copy link
Member
stefanv commented Oct 21, 2020

@janaknat The wheels go to PyPi on the next release, which @jni can tell you more about.

I think we can probably use ARM64 instead of one of the existing architecture targets on Travis-CI, sure.

@hmaarrfk
Copy link
Member

WHen you do make that PR, watch out for QT getting installed. Not sure about QT + AARCH64 support on pypi

@janaknat
Copy link
Contributor Author

@jni When would the next release be?

@jni
Copy link
Member

@janaknat Sorry for the delay. I meant to get it done this week but didn't manage. I hope I can do so this coming week!

@janaknat
Copy link
Contributor Author

@jni Any updates on the next release?

@janaknat
Copy link
Contributor Author

@hmaarrfk Any news on when the next release will be?

@jni
Copy link
Member
jni commented Dec 1, 2020

@janaknat The good news is that the release should happen tomorrow. The release candidate 0.18.0rc0 is already out!

The very bad news is that Travis stopped allowing free builds for source so I think we no longer have a way to build aarch wheels!!! 😭😭😭😭😭

@janaknat
Copy link
Contributor Author
janaknat commented Dec 1, 2020

@jni You mean the main repo? Or this wheel builder repo?

@JeffUnderhill
Copy link

@jni have you reached out to the Travis folks for additional credits for OSS builds? we'll reach out to our contacts in parallel to request additional credits. Free builds for OSS are still possible but there was a recent change by TravisCI to eliminate abuse of their good will to provide free builds which has an immediate term impact: https://blog.travis-ci.com/oss-announcement

@muizzk
Copy link
muizzk commented Dec 1, 2020

Hello folks, I have been directed to provide you with credits for this project. The current value is 50,000. Thanks

cc: @pauladamgordon @shabbir-github

@grlee77
Copy link
Contributor
grlee77 commented Dec 1, 2020
8000

Great, thank you @muizzk!

@janaknat
Copy link
Contributor Author
janaknat commented Dec 3, 2020

@jni Will there be aarch64 wheels with the next rc?

@hmaarrfk
Copy link
Member
hmaarrfk commented Dec 3, 2020

i'm not sure if the plan is going to be to uses these wheels here.

Maybe you can help us update
scikit-image/scikit-image#5080

to have some aarch builds?

Recent changes to travis forced us to look at alternatives.

Not too sure what @jni's plan is

@janaknat
Copy link
Contributor Author
janaknat commented Dec 3, 2020

@hmaarrfk Github Actions does not support aarch64 build environment. Travis has said that they'll provide more credits to projects.

@hmaarrfk
Copy link
Member
hmaarrfk commented Dec 3, 2020

Got it.

Honestly, with conda-forge, we had docker environments that incorporated qemu that would work even when executed on a x84 host.

not sure if that is possible.

THerefore, we used x86 host, but a docker image that was aarch64.

That might be the way to go, at least for the shrot term.

The problem, is that qemu took about 6x longer than native.

@grlee77
Copy link
Contributor
grlee77 commented Dec 3, 2020

@hmaarrfk Github Actions does not support aarch64 build environment. Travis has said that they'll provide more credits to projects.

I think we just got bumped from 10,000 credits to 50,000 yesterday and already travis-ci.com says we have used 39400 out of 50000, so that will not get us too far. Also, if it still renews each month at 10,000 credits and we have to manually request more each time, that is not a feasible solution. If we remove all jobs except ARM from Travis, we may be okay though. I think that is what scipy-wheels is doing now.

IIRC, costs are 10/min on linux, 20/min on Windows and 50/min on OS X.

The problem, is that qemu took about 6x longer than native.

Yes, I recently used qemu locally to debug some ARM-related failures in scipy.ndimage code and the build took quite a long time.

@stefanv
Copy link
Member
stefanv commented Dec 4, 2020

Agreed @grlee77, let's get everything other than this off of Travis-CI ASAP.

@janaknat
Copy link
Contributor Author

@stefanv Travis-CI has provided more credits. Will the aarch64 wheels make it in the next release?

@jni
Copy link
Member
jni commented Dec 16, 2020

@janaknat they gave us credits but they ran out in ~24h. I haven't received any build notifications for a while (this repo has a nightly build), so I presume that we are out of credits again. I don't know how to check our credits balance. 50,000 sounds like a lot but at 50 credits a minute on mac, that's only 16h of build time on mac, and a single matrix entry takes close to 1h, so they run out extremely quickly, with no room for experimentation when builds go wrong, which is basically all the time.

@grlee77 worked on removing Travis builds from the main repo, but I fear that came too late. I'm working to remove everything but the aarch64 builds from here, but, to reiterate what @stefanv and @grlee77 said, Travis is not a sustainable solution for us. After the build matrix is cleaned up here I think @hmaarrfk's attempt at scikit-image/scikit-image#5098 is the right way forward, but there's still a bit of work to do there, it seems.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants
0