ref:main

anvil update 404s on macOS — release publishes Linux-only binaries #26

closed Opened by cole.christensen@gmail.com

Links

No links yet.

Bug

anvil update fails on macOS: Error: download failed: HTTP 404 Not Found for Darwin/aarch64.

Cause

The release publishes Linux-only binaries. ci/build-runner.sh builds just aarch64-unknown-linux-gnu + x86_64-unknown-linux-gnu and uploads anvil_linux_{arm64,amd64}_<ver> (line 131 literally: “Runner binaries for linux/amd64 and linux/arm64”).

Both other sides are already macOS-ready:

  • Client (update.rs): maps Darwin/{aarch64,x86_64} → macos_{arm64,amd64}; passing unit test at update.rs:238-243.
  • Server (runner_download_controller.ex): maps {Darwin, aarch64} => "macos_arm64" etc.; asset regex ^anvil(.+?)_<ver>$ matches anvil_macos_arm64_<ver>.

So the server serves a macOS asset the moment one is uploaded — nothing is published, hence 404.

Fix

Add aarch64-apple-darwin + x86_64-apple-darwin to ci/build-runner.sh (via the existing cargo zigbuild) and upload anvil_macos_{arm64,amd64}_<ver> + their SHA256SUMS entries. The CLI is pure rustls (reqwest rustls-tls, default-features=false) — no native-tls/Security framework — so zig’s bundled macOS libc should link it without a full Xcode SDK. Needs a CI run to confirm the cross-build.