e073533c62
Routing the x86_64-unknown-linux-musl link through Ubuntu's musl-gcc wrapper overrode Rust's crt-static default and produced a dynamic binary with an interpreter of /lib/ld-musl-x86_64.so.1. That path exists on approximately no machine outside Alpine, so the shipped binary died at exec time with "required file not found" everywhere — the opposite of what a musl build is for. aarch64-unknown-linux-musl never used musl-gcc and was static all along; only x86_64 was broken. Drop musl-tools and the linker override and let Rust link with its own bundled musl libc.a, which yields a static-pie executable. Add a post-build check that fails the release if a musl binary has an INTERP segment, so this can't silently ship again. Also correct the asset-URL comment: Gitea serves /releases/download/latest/<name>, not GitHub's /releases/latest/download/<name>. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011J8C6eRmWEZsh28vkEMD9H