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 time for linux/arm64 image #234

Open
tsibley opened this issue Oct 21, 2024 · 3 comments
Open

Build time for linux/arm64 image #234

tsibley opened this issue Oct 21, 2024 · 3 comments

Comments

@tsibley
Copy link
Member

tsibley commented Oct 21, 2024

The current build time for the linux/arm64 image in CI is around 45 minutes (judging by recent runs). That's pretty long! This is in large part because it's running on amd64 hardware emulating arm64 with QEMU instead of running natively on arm64 hardware.

It's come to my attention (again, but I didn't look into it last time) that we could be running this build on actual arm64 hardware by using GitHub's "large" runners. This would cost us money, as large runners are not included gratis like the standard runners we use now.

We may not want to do this, and that's fine, but I wanted to record it somewhere.

@victorlin
Copy link
Member

Maybe we could use macos-14/macos-15 which are ARM-based? If I remember correctly and things haven't changed in a year, running the linux/arm64 build on an M1, even though it still needs some macOS/Linux emulation by Docker, is faster than running the linux/amd64 build.

@victorlin
Copy link
Member

The current CI workflow takes advantage of the multi-platform build happening on a single runner:

- run: ./devel/build -p linux/amd64,linux/arm64 -r ghcr.io -t "$TAG" -l logs/

Using multiple runners will require separate build commands and additional steps to combine manifests and create the multi-arch image tag. But the added complexity may be worth it!

@tsibley
Copy link
Member Author

tsibley commented Oct 23, 2024

Oh, interesting idea to use the arm64 macOS runners. That sounds promising (though maybe comes with enough caveats/sharp edges that using arm64 Linux runners would be worth it?).

But the added complexity may be worth it!

Yeah, that was my thinking too.

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

No branches or pull requests

2 participants