Skip to content

Commit 19902c4

Browse files
committed
ci: use ubuntu-24.04-arm runner for Linux ARM64 release
The Linux ARM64 release job was failing at the smoke test step with 'Exec format error' because the binary was built for aarch64 but the smoke test ran on ubuntu-latest (x86_64). GitHub provides ARM64 runners (Graviton-based) for public repos: - ubuntu-22.04-arm - ubuntu-24.04-arm Switching the Linux ARM64 job to ubuntu-24.04-arm gives us a native aarch64 environment where the binary can be smoke-tested properly (./ado --version, etc.) instead of just checking 'file' output. All 4 release jobs now run on a native runner for their target architecture: - Linux x86_64 -> ubuntu-latest (x86_64) - Linux ARM64 -> ubuntu-24.04-arm (aarch64) - macOS Intel -> macos-latest (x86_64) - macOS Apple -> macos-latest (aarch64) Removed the matrix.native flag and the 'Verify cross-arch binary' step — they're no longer needed. The smoke test step is unconditional and includes a 'file $BINARY' line for an extra sanity check on the produced binary. Verified: actionlint clean, mix ci green, 162 tests pass.
1 parent 3efb5b8 commit 19902c4

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ jobs:
201201
ext: ""
202202
label: "Linux x86_64"
203203
artifact: ado-linux-x86_64
204-
- os: ubuntu-latest
204+
- os: ubuntu-24.04-arm
205205
target: linux_arm
206206
cpu: aarch64
207207
ext: ""
@@ -322,12 +322,16 @@ jobs:
322322
ls -lh release_bin/
323323
324324
- name: Smoke test the binary
325+
# All release jobs run on a native runner for the target
326+
# platform (e.g. ubuntu-24.04-arm for the Linux ARM build),
327+
# so the binary can always be executed here.
325328
run: |
326329
set -euo pipefail
327330
# Glob is intentional here — there's exactly one file in
328331
# the dir, but actionlint warns about unquoted globs.
329332
BINARY=$(ls release_bin/ado-*)
330333
echo "Testing $BINARY"
334+
file "$BINARY"
331335
"$BINARY" --version || "$BINARY" --help | head -20
332336
333337
- name: Upload release binary

0 commit comments

Comments
 (0)