Skip to content

Commit 5d2e04f

Browse files
committed
ci: override ImageOS=ubuntu24 on ARM64 release job
The Linux ARM64 release job (runs-on: ubuntu-24.04-arm) was failing at the erlef/setup-beam step with: Tried to map a target OS from env. variable 'ImageOS' (got ubuntu24-arm64), but failed. [...supported: ubuntu22, ubuntu24, win19, win22, win25, macos13, macos14, macos15, macos26] GitHub does support ARM runners, but the runner reports its ImageOS as 'ubuntu24-arm64' which setup-beam's OS mapping doesn't know about. The action's own error message tells us to override 'ImageOS' to one of the supported values. Override to 'ubuntu24' on the release job only. The Erlang/Elixir prebuilt binaries from elixir-lang are architecture-independent (Elixir ships separate aarch64 binaries for macOS but uses the same x86_64-built ERTS via the linux x86_64 release on Linux runners), so the ubuntu24 binaries work fine on the arm64 runner for our build purposes. Confirmed: actionlint clean, mix ci green, 162 tests pass.
1 parent 19902c4 commit 5d2e04f

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

.github/workflows/ci.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,13 @@ jobs:
228228
with:
229229
otp-version: ${{ env.OTP_VERSION }}
230230
elixir-version: ${{ env.ELIXIR_VERSION }}
231+
env:
232+
# On ubuntu-24.04-arm, ImageOS is reported as
233+
# 'ubuntu24-arm64' which erlef/setup-beam doesn't recognize.
234+
# Override to 'ubuntu24' (Erlang/Elixir prebuilt binaries
235+
# are architecture-independent, so the ubuntu24 ones work
236+
# fine on the arm64 runner).
237+
ImageOS: ubuntu24
231238

232239
- name: Install Zig
233240
# Burrito needs a specific zig version (0.16.0) to cross-compile

0 commit comments

Comments
 (0)