027fc1f9dd
Adds a third matrix job that builds a static-musl binary on Alpine so future tags ship 4 assets per arch: dynamic + static. The dynamic x86_64 build (gcc on ubuntu-latest) hits a glibc-version ceiling — built against glibc 2.39, refuses to run on Debian 12 (2.36), RHEL 8/9, etc. install.sh now fetches the static asset by default for x86_64; the dynamic remains available via SKELETONKEY_DYNAMIC=1. Static build details: - Alpine container (native musl + linux-headers from apk). - -DMSG_COPY=040000 covers the only musl-vs-glibc gap (netfilter_xtcompat uses MSG_COPY, which is a Linux-kernel constant that glibc exposes but musl omits — kernel header: include/uapi/linux/msg.h). - LDFLAGS=-static produces a static-PIE ELF (~1.2 MB). - Cross-distro verified locally: Alpine-built binary runs on Debian/Ubuntu/Fedora/RHEL. Locally-built static binary was uploaded to v0.6.2 by hand to unblock the one-liner installer immediately.