PEP 11: Proposal to promote AArch64 platforms to Tier-1

Yeah, I tried to rework how we declare workers to declare more explicitly their tier and stable/unstable. Please go ahead with a PR.

Hello, as promised here an update on the aarch64-unknown-linux-gnu.
As we said during our previous discussions, the only viable way to have tier-1 support for this platform is via the Arm runners provided via Github. At the moment these are available on a private beta and for the time being this is a paid service.
After a few internal discussions, we (Arm) are looking to support this via our Works on Arm program (worksonarm.com).

We are still in process of figuring out the billing with Github but hopefully this will be sorted out soon. In case we need help from the PSF/admins side, I’ll ping @ambv :slight_smile:

8 Likes

Oh nice! For reference Arm-based hosted runners are coming to GitHub Actions! 🚢 · community · Discussion #73040 · GitHub is github’s announcement about these finally becoming a thing.

For completeness there is a form to request access to the beta which I filled out on behalf of the CPython project.
So there is no need to fill it out again :slight_smile:

1 Like

I’m curious if there’s recent process on the effort to promote the Linux and Windows Aarch64 platforms.

One development is that GitHub Actions runners should be available now.

Hello @EwoutH, I can provide an update on that.

After a few roadblocks, we (Arm) found a way to pay for these runners are they are not free for open source projects yet. Just this week @ambv have merged the PR to enable AArch64 Linux runners on CPython: Enable aarch64 Ubuntu CI jobs by ambv · Pull Request #125786 · python/cpython · GitHub

It’s not done yet because the JIT and Open SSL builds are still missing. I plan to do it the coming week.
For Windows runner, we need to wait the new OS image to be deployed as the current one doesn’t have all the developers tool. Again, this is planned to be completed shortly. As soon as the new image is deployed, I’ll create the PR to enable the Windows Arm runners as well.

After we have all the infra in place, let’s see how promotion goes. I think for Linux should be pretty straightforward, I guess Windows on Arm requires more discussion.

I hope this clarifies where we are.

Thanks

4 Likes

This isn’t very clear in GitHub’s public messages but I believe that there has been no update since the statement here:

We expect to begin offering Arm runners for open source projects by the end of the year.

1 Like

FWIW, it should be possible to get a Windows ARM64 build job going, since cross-compiling is available and works great. Depending on capacity for ARM64 machines, it might be better to make it a two stage task anyway - build on a plentiful x64 machine and then run the tests on native ARM64.

I’ve been running these daily for the last 2-3 years on work infrastructure and the only issues to arise have been related to the compiler/platform(/image), not anything in CPython itself.

2 Likes

Folks, a quick update about the Arm runners.

Thanks to

we have enabled the Arm runners for Linux!

Thanks to everyone who helped out with this! @ambv @brandtbucher @hugovk @savannahostrowski @zware

I would say to wait some time (till January) before updating the PEP-11 to move aarch64-unknown-linux-gnu to Tier-1. Thoughts?

@steve.dower this is a good suggestion but I know we are very close to the deployment of the new images to GitHub (there are some issues with a class of HW) and we are sorting it out with the Azure support team at Microsoft. I would be tempted to wait the full deployment.

6 Likes

Sure, no harm in letting things settle in case we need to make adjustments, especially as tier 1 breaks need immediate fixes or reverts.

Thank you for your work here, and also to Arm for sponsoring the runners!

2 Likes

Folks, here the PR to promote aarch64-unknown-linux-gnu to Tier 1: PEP 11: Promote aarch64-unknown-linux-gnu (gcc, glibc) to tier-1 by diegorusso · Pull Request #4215 · python/peps · GitHub

6 Likes