Release publish fails on amd64 runner: build-runner.sh execs the arm64 binary #30
Links
No links yet.
Symptom
anvil-cli’s main build-runner job fails, so no new runner release publishes (server is stuck serving 2026.07.3). On the #38 main run it built all 4 platform binaries, computed checksums, then died:
==> Publishing release 2026.07.4
...
ci/build-runner.sh: line ...: target/aarch64-unknown-linux-gnu/release/anvil: cannot execute binary file: Exec format error
--- Job failed (exit code: 126) ---
Root cause
ci/build-runner.sh hardcoded ANVIL_CLI="$PWD/$ARM64_BIN" and used it to drive release list/create/upload. That only executes on an arm64 runner (carl); when the publish job lands on the amd64 runner (xps), running the arm64 binary is an Exec format error. Runner-roulette — 2026.07.3 published because that job happened to run on carl.
Fix
Select the binary matching the runner’s uname -m (arm64 → arm64 build, x86_64 → amd64 build) for the release calls. Both linux binaries are built in the job; pick the native one.
Impact
Blocks every anvil-cli release, including the runner readiness fix (#29/#38). Until it’s fixed + a release publishes, anvil update on carl/xps has nothing new to pull.
Acceptance
- build-runner publishes successfully regardless of which runner (carl/xps) it lands on
- a new release (>= 2026.07.4) is served at /runner/version