Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/actions/run-integration-tests/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,11 @@ runs:
shell: bash -l -eo pipefail {0}
run: nextstrain setup docker

- if: runner.os != 'Windows'
- if: runner.os != 'Windows' && !(runner.os == 'Linux' && runner.arch == 'ARM64')
shell: bash -l -eo pipefail {0}
run: nextstrain setup conda

- if: runner.os != 'macOS' && runner.os != 'Windows'
- if: runner.os != 'macOS' && runner.os != 'Windows' && !(runner.os == 'Linux' && runner.arch == 'ARM64')
shell: bash -l -eo pipefail {0}
run: nextstrain setup singularity

Expand All @@ -45,14 +45,14 @@ runs:
git -C zika-tutorial clean -dfqx
nextstrain build --docker --cpus 2 zika-tutorial

- if: runner.os != 'Windows'
- if: runner.os != 'Windows' && !(runner.os == 'Linux' && runner.arch == 'ARM64')
name: Build zika-tutorial with --conda
shell: bash -l -eo pipefail {0}
run: |
git -C zika-tutorial clean -dfqx
nextstrain build --conda --cpus 2 zika-tutorial

- if: runner.os != 'macOS' && runner.os != 'Windows'
- if: runner.os != 'macOS' && runner.os != 'Windows' && !(runner.os == 'Linux' && runner.arch == 'ARM64')
name: Build zika-tutorial with --singularity
shell: bash -l -eo pipefail {0}
run: |
Expand Down
13 changes: 11 additions & 2 deletions .github/actions/setup-integration-tests/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,15 @@ inputs:
runs:
using: composite
steps:
# 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}

- uses: conda-incubator/setup-miniconda@v3
with:
python-version: ${{ inputs.python-version }}
Expand Down Expand Up @@ -72,14 +81,14 @@ runs:
python3 --version | grep -F 'Python ${{ inputs.python-version }}.'
[[ "$(python --version)" == "$(python3 --version)" ]]

# Install Singularity on Linux.
# Install Singularity on Linux x86_64.
#
# We don't install it with Conda because Conda Forge provides a non-suid
# build of Singularity. We're compatible with Singularity's non-suid mode,
# but production usages of Singularity are likely to use its suid mode, so
# I'd rather test against that.
# -trs, 6 Jan 2023
- if: runner.os == 'Linux'
- if: runner.os == 'Linux' && runner.arch == 'X64'
shell: bash -l -eo pipefail {0}
env:
GITHUB_TOKEN: ${{ github.token }}
Expand Down
10 changes: 10 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,10 @@ jobs:
target: x86_64-unknown-linux-gnu
exe: nextstrain

- os: ubuntu-22.04-arm
target: aarch64-unknown-linux-gnu
exe: nextstrain

- os: macos-13
target: x86_64-apple-darwin
exe: nextstrain
Expand Down Expand Up @@ -299,6 +303,8 @@ jobs:
include:
- { os: ubuntu-22.04, target: x86_64-unknown-linux-gnu }
- { os: ubuntu-24.04, target: x86_64-unknown-linux-gnu }
- { os: ubuntu-22.04-arm, target: aarch64-unknown-linux-gnu }
- { os: ubuntu-24.04-arm, target: aarch64-unknown-linux-gnu }
- { os: macos-13, target: x86_64-apple-darwin }
- { os: macos-14, target: x86_64-apple-darwin }
- { os: macos-15, target: x86_64-apple-darwin }
Expand Down Expand Up @@ -381,6 +387,10 @@ jobs:
with:
name: standalone-x86_64-unknown-linux-gnu

- uses: actions/download-artifact@v5
with:
name: standalone-aarch64-unknown-linux-gnu

- uses: actions/download-artifact@v5
with:
name: standalone-x86_64-apple-darwin
Expand Down
8 changes: 8 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ development source code and as such may not be routinely kept up to date.

# __NEXT__

## Improvements

* We now produce standalone installation archives for Linux running on aarch64
hardware (aka arm64). The standalone installer will use these archives
starting with this release.
([#489](https://github.com/nextstrain/cli/pull/489),
[#490](https://github.com/nextstrain/cli/pull/490))


# 10.4.1 (14 October 2025)

Expand Down
2 changes: 1 addition & 1 deletion devel/pyoxidizer
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ main() {
--volume "$build/cache/pyoxidizer:/tmp/.cache/pyoxidizer" \
--volume "$build/cache/pip:/tmp/.cache/pip" \
--volume "$build/cache/cargo:/tmp/.cargo" \
quay.io/pypa/manylinux2014_x86_64 "$pyoxidizer" "$@"
quay.io/pypa/manylinux2014_"$(platform-machine)" "$pyoxidizer" "$@"
else
exec "$pyoxidizer" "$@"
fi
Expand Down
9 changes: 9 additions & 0 deletions doc/changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,15 @@ development source code and as such may not be routinely kept up to date.
(v-next)=
## __NEXT__

(v-next-improvements)=
### Improvements

* We now produce standalone installation archives for Linux running on aarch64
hardware (aka arm64). The standalone installer will use these archives
starting with this release.
([#489](https://github.com/nextstrain/cli/pull/489),
[#490](https://github.com/nextstrain/cli/pull/490))


(v10-4-1)=
## 10.4.1 (14 October 2025)
Expand Down
Loading