Skip to content

Conversation

@tsibley
Copy link
Contributor

@tsibley tsibley commented Nov 6, 2025

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

  • Checks pass
  • Update changelog

tsibley added a commit that referenced this pull request Nov 6, 2025
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>
@tsibley tsibley force-pushed the trs/standalone/linux-aarch64 branch from 11e2022 to 777bc92 Compare November 6, 2025 22:55
tsibley added a commit that referenced this pull request Nov 6, 2025
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>
tsibley added a commit that referenced this pull request Nov 6, 2025
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>
@tsibley tsibley force-pushed the trs/standalone/linux-aarch64 branch from 777bc92 to 543c949 Compare November 6, 2025 23:22
tsibley added a commit that referenced this pull request Nov 7, 2025
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>
@tsibley tsibley force-pushed the trs/standalone/linux-aarch64 branch from 543c949 to 412548f Compare November 7, 2025 06:12
tsibley added a commit that referenced this pull request Nov 7, 2025
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>
@tsibley tsibley force-pushed the trs/standalone/linux-aarch64 branch from 412548f to 3ef5c18 Compare November 7, 2025 06:59
tsibley added a commit that referenced this pull request Nov 7, 2025
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>
@tsibley tsibley force-pushed the trs/standalone/linux-aarch64 branch from 3ef5c18 to f24763d Compare November 7, 2025 18:14
@tsibley
Copy link
Contributor Author

tsibley commented Nov 7, 2025

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 conda-incubator/setup-miniconda@v3. This feels like an issue with Conda or GitHub Actions or similar, but it's not immediately clear. I don't think this is related to the changes on this branch. (but it's possible!)

@victorlin victorlin self-assigned this Jan 6, 2026
Comment on lines +28 to +35
# 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}
Copy link
Member

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.

Comment on lines 30 to 34

- if: runner.os != 'macOS' && runner.os != 'Windows'
- if: runner.os != 'macOS' && runner.os != 'Windows' && !(runner.os == 'Linux' && runner.arch == 'ARM64')
Copy link
Member

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.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done: b45713e

@victorlin
Copy link
Member

This PR + #490 look good to me. Releasing these would allow us to cut ~13 minutes of run time from docker-base's CI workflow.

I'll plan to:

  1. Rebase both PRs onto latest master
  2. Add comments as suggested in comment
  3. Merge this PR
  4. Release version 10.4.2 and merge #490 shortly afterwards

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>
victorlin pushed a commit that referenced this pull request Jan 7, 2026
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>
@victorlin victorlin force-pushed the trs/standalone/linux-aarch64 branch from f24763d to 2035207 Compare January 7, 2026 00:34
victorlin pushed a commit that referenced this pull request Jan 7, 2026
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>
@victorlin victorlin force-pushed the trs/standalone/linux-aarch64 branch from 2035207 to b45713e Compare January 7, 2026 00:36
@victorlin victorlin merged commit b6e27ff into master Jan 7, 2026
115 of 116 checks passed
@victorlin victorlin deleted the trs/standalone/linux-aarch64 branch January 7, 2026 19:02
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

Successfully merging this pull request may close these issues.

3 participants