ref:main

Release publish fails on amd64 runner: build-runner.sh execs the arm64 binary #30

closed Opened by cole.christensen@gmail.com

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