ci(release): build Linux binaries on ubuntu-22.04 for older-glibc support

Linux release binaries were built on ubuntu-latest (now Ubuntu 24.04,
glibc 2.39), so they required GLIBC_2.38 and failed to start on older LTS
distros (Debian 12 = 2.36, Ubuntu 22.04 = 2.35) with:

  libc.so.6: version `GLIBC_2.38' not found (required by webclaw-mcp)

glibc is forward- but not backward-compatible, so the build host's glibc
sets the floor. Pin both Linux targets to ubuntu-22.04 (glibc 2.35); the
aarch64 cross toolchain tracks the runner distro, so this lowers both.

Note: 2.35 still won't cover Amazon Linux 2023 / RHEL 9 (2.34) — full
coverage needs a musl static build. Tracked in #73.

Refs #73

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Valerio 2026-06-27 12:33:05 +02:00
parent f528629f2a
commit a9567aa661

View file

@ -36,10 +36,16 @@ jobs:
os: macos-latest
- target: aarch64-apple-darwin
os: macos-latest
# Linux targets pin to ubuntu-22.04 (glibc 2.35), NOT ubuntu-latest
# (24.04 = glibc 2.39): glibc is forward- but not backward-compatible,
# so binaries built on 24.04 require GLIBC_2.38 and won't start on
# older LTS distros (Debian 12, Ubuntu 22.04). The aarch64 cross
# toolchain tracks the runner's distro too, so this lowers both
# targets. See #73. Don't bump to ubuntu-latest.
- target: x86_64-unknown-linux-gnu
os: ubuntu-latest
os: ubuntu-22.04
- target: aarch64-unknown-linux-gnu
os: ubuntu-latest
os: ubuntu-22.04
- target: x86_64-pc-windows-msvc
os: windows-latest