anvil update 404s on macOS — release publishes Linux-only binaries #26
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 atupdate.rs:238-243. - Server (
runner_download_controller.ex): maps{Darwin, aarch64} => "macos_arm64"etc.; asset regex^anvil(.+?)_<ver>$matchesanvil_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.