-
release.yml: arm64-static via dockcross/linux-arm64-musl
release / build (arm64) (push) Waiting to runrelease / build (x86_64) (push) Waiting to runrelease / build (x86_64-static / musl) (push) Waiting to runrelease / build (arm64-static / musl) (push) Waiting to runrelease / release (push) Blocked by required conditionsreleased this
2026-05-24 01:17:03 +00:00 | 10 commits to main since this releaseThird attempt at arm64-static. Previous two:
-
Alpine container on ubuntu-24.04-arm:
'JavaScript Actions in Alpine containers only supported on x64
Linux runners' — actions/checkout JS bundle can't run. -
musl-tools on ubuntu-24.04-arm:
musl-gcc + Ubuntu's /usr/include collide. -isystem /usr/include
pulls glibc stdio.h whose __gnuc_va_list + __time64_t types
conflict with musl's stdio.h. -isystem /usr/include/linux alone
leaves us missing asm/ headers.
dockcross/linux-arm64-musl avoids both:
- Image base is Debian (glibc) → actions/checkout works.
- Ships aarch64-linux-musl-gcc with a CONSISTENT musl + linux-
uapi sysroot. No header collision.
The dockcross pattern is: pull the image, ask it to spit out its
wrapper script ('docker run --rm dockcross/linux-arm64-musl' prints
a bash wrapper to stdout), then './dockcross bash -c ...' runs the
command inside the toolchain container with the cwd volume-mounted.Produces a statically-linked aarch64 ELF binary, same packaging
flow as the x86_64-static job.Downloads
-