Skip to content

Build aarch64 wheels using native runners#652

Merged
hugovk merged 2 commits intoultrajson:mainfrom
hugovk:arm
Jan 18, 2025
Merged

Build aarch64 wheels using native runners#652
hugovk merged 2 commits intoultrajson:mainfrom
hugovk:arm

Conversation

@hugovk
Copy link
Copy Markdown
Member

@hugovk hugovk commented Jan 18, 2025

GitHub Actions now has free hosted Arm runners:

https://github.blog/news-insights/product-news/arm64-on-github-actions-powering-faster-more-efficient-build-systems/

That means we can replace the slow QEMU jobs with native ubuntu-24.04-arm to build the aarch64 wheels in a single job.

Before After
Jobs 10 5
Total duration 10m 27s 10m 37s
Run time 53m 2s 25m 23s

Also fix a warning by adding pypy to CIBW_ENABLE:

PyPy builds will be disabled by default in version 3. Enabling PyPy builds should be specified by enable

PyPy builds will be disabled by default in version 3. Enabling PyPy builds should be specified by enable
@hugovk hugovk added the changelog: Changed For changes in existing functionality label Jan 18, 2025
@bwoodsend
Copy link
Copy Markdown
Collaborator

Huh, I had it in my head that we were building for more than just aarch64. But looking at the PyPI statistics, the next most popular targets are s390x at 263/month and armv7l at 259/month (the latter we can't even put on PyPI anyway) so I suppose that ignoring them is justified.

@hugovk
Copy link
Copy Markdown
Member Author

hugovk commented Jan 18, 2025

We are testing for some more architectures:

architecture: [ppc64le, s390x, aarch64, arm/v6, 386]

Perhaps we could replace some QEMU from that workflow too?

@hugovk hugovk merged commit 7e84cf5 into ultrajson:main Jan 18, 2025
@hugovk hugovk deleted the arm branch January 18, 2025 20:49
@bwoodsend
Copy link
Copy Markdown
Collaborator

If you think the 2 x ~90 seconds is worth the faff then sure. 🙂

Since there's not much PR traffic around here, there's not much to be gained from workflow optimisation.

@hugovk
Copy link
Copy Markdown
Member Author

hugovk commented Jan 19, 2025

Yeah, let's leave that one be. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog: Changed For changes in existing functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants