File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -20,10 +20,13 @@ jobs:
2020 fail-fast : false
2121 matrix :
2222 include :
23- # Fully static Linux binary (no glibc/bzip2/lzma runtime dependency):
23+ # Fully static Linux binaries (no glibc/bzip2/lzma runtime dependency):
2424 # the -sys crates build htslib/bzip2/lzma/zlib from bundled C source.
25+ # Each builds NATIVELY on its arch's runner — no cross-compiler needed.
2526 - target : x86_64-unknown-linux-musl
2627 os : ubuntu-latest
28+ - target : aarch64-unknown-linux-musl
29+ os : ubuntu-24.04-arm
2730 # macOS builds on Apple Silicon runners (macos-14, plentiful). The
2831 # aarch64 build is native; the x86_64 build is cross-compiled from arm64
2932 # (the SDK ships both arches; the cc crate adds `-arch x86_64`) so the
5861 - name : Build (release, ${{ matrix.target }})
5962 env :
6063 # musl needs the musl C compiler for the bundled htslib/bzip2/lzma builds.
64+ # On each musl runner `musl-gcc` is that arch's native musl compiler.
6165 CC_x86_64_unknown_linux_musl : musl-gcc
66+ CC_aarch64_unknown_linux_musl : musl-gcc
6267 run : cargo build --release --target ${{ matrix.target }} --bin rosalind
6368
6469 - name : Stage the bundle
Original file line number Diff line number Diff line change @@ -21,7 +21,8 @@ case "$os" in
2121 Linux)
2222 case " $arch " in
2323 x86_64 | amd64) target=" x86_64-unknown-linux-musl" ;;
24- * ) die " unsupported Linux arch '$arch ' (prebuilt: x86_64 only; build from source for others)" ;;
24+ aarch64 | arm64) target=" aarch64-unknown-linux-musl" ;;
25+ * ) die " unsupported Linux arch '$arch ' (prebuilt: x86_64, aarch64; build from source for others)" ;;
2526 esac
2627 ;;
2728 Darwin)
You can’t perform that action at this time.
0 commit comments