-
Notifications
You must be signed in to change notification settings - Fork 20
Standalone builds for Linux aarch64 (aka arm64) #489
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
Conversation
Conditions on the Nextstrain CLI version being requested, as aarch64 builds¹ will only be available going forward for new releases. Assumes the next release will be 10.4.2! We must wait to merge this until after the first release (i.e. 10.4.2) of the changes it depends on above. ¹ <#489>
11e2022 to
777bc92
Compare
Conditions on the Nextstrain CLI version being requested, as aarch64 builds¹ will only be available going forward for new releases. Assumes the next release will be 10.4.2! We must wait to merge this until after the first release (i.e. 10.4.2) of the changes it depends on above. ¹ <#489>
Conditions on the Nextstrain CLI version being requested, as aarch64 builds¹ will only be available going forward for new releases. Assumes the next release will be 10.4.2! We must wait to merge this until after the first release (i.e. 10.4.2) of the changes it depends on above. ¹ <#489>
777bc92 to
543c949
Compare
Conditions on the Nextstrain CLI version being requested, as aarch64 builds¹ will only be available going forward for new releases. Assumes the next release will be 10.4.2! We must wait to merge this until after the first release (i.e. 10.4.2) of the changes it depends on above. ¹ <#489>
543c949 to
412548f
Compare
Conditions on the Nextstrain CLI version being requested, as aarch64 builds¹ will only be available going forward for new releases. Assumes the next release will be 10.4.2! We must wait to merge this until after the first release (i.e. 10.4.2) of the changes it depends on above. ¹ <#489>
412548f to
3ef5c18
Compare
Conditions on the Nextstrain CLI version being requested, as aarch64 builds¹ will only be available going forward for new releases. Assumes the next release will be 10.4.2! We must wait to merge this until after the first release (i.e. 10.4.2) of the changes it depends on above. ¹ <#489>
3ef5c18 to
f24763d
Compare
|
I believe CI should be passing now, but the test-standalone (os=ubuntu-22.04, target=x86_64-unknown-linux-gnu) job seems to be consistently hanging during an initial |
| # Our aarch64 (linux/arm64) image still contains some x86_64 (amd64) | ||
| # executables and so requires the ability of the host to emulate x86_64. | ||
| # On macOS, which is the primary reason we have an aarch64 image, this is | ||
| # expected to be provided by Rosetta 2. On Linux, we expect it to be QEMU, | ||
| # which we set up here. | ||
| - if: runner.os == 'Linux' && runner.arch == 'ARM64' | ||
| run: docker run --privileged --rm tonistiigi/binfmt --install amd64 | ||
| shell: bash -l -eo pipefail {0} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would've used docker/setup-qemu-action since it's what's used in the docker-base repo, but this seems fine. From what I can tell, the docker action is effectively a wrapper around this command with some predefined defaults and image caching.
|
|
||
| - if: runner.os != 'macOS' && runner.os != 'Windows' | ||
| - if: runner.os != 'macOS' && runner.os != 'Windows' && !(runner.os == 'Linux' && runner.arch == 'ARM64') |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is getting difficult to read. I'd add a comment along the lines of
Skip Singularity on macOS, Windows, and Linux ARM64
and similarly for the other conditions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done: b45713e
GitHub released public runners.¹ This will ultimately let us use standalone installation archives in our linux/arm64 Docker images.² Changes to the standalone installer to follow separately³, as those need to be held for merge until after the first release with these builds available. ¹ <https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/> ² <nextstrain/docker-base#273> ³ <#490>
Conditions on the Nextstrain CLI version being requested, as aarch64 builds¹ will only be available going forward for new releases. Assumes the next release will be 10.4.2! We must wait to merge this until after the first release (i.e. 10.4.2) of the changes it depends on above. ¹ <#489>
f24763d to
2035207
Compare
For readability.
Conditions on the Nextstrain CLI version being requested, as aarch64 builds¹ will only be available going forward for new releases. Assumes the next release will be 10.4.2! We must wait to merge this until after the first release (i.e. 10.4.2) of the changes it depends on above. ¹ <#489>
2035207 to
b45713e
Compare
GitHub released public runners.¹ This will ultimately let us use standalone installation archives in our linux/arm64 Docker images.²
Changes to the standalone installer to follow separately³, as those need to be held for merge until after the first release with these builds available.
¹ https://github.blog/changelog/2025-01-16-linux-arm64-hosted-runners-now-available-for-free-in-public-repositories-public-preview/
² nextstrain/docker-base#273
³ #490
Checklist