Commit cbfb277
ci(release): pin beyond-queue glibc to 2.39 via cargo-zigbuild
The release-api workflow built the binary with native `cargo build`,
linking the runner's glibc unpinned. When the runner's glibc exceeds the
noble (24.04) floor of 2.39, the resulting binary fails to boot on the
target host.
Build via cargo-zigbuild against the `*-linux-gnu.2.39` targets so the
glibc symbol versioning ceiling is pinned to 2.39 regardless of the
runner's system glibc. Keep glibc (not musl): beyond-queue does internal
DNS lookups to postgres, and musl's resolver is unreliable for that.
- mise.toml: add `zig` + `cargo:cargo-zigbuild` tools.
- release-api.yml: add matrix `zigtarget` (x86_64/aarch64 .2.39) and
base `target` for the output dir; build with `cargo zigbuild
--target <zigtarget> -p beyond-queue`; package from
target/<target>/release. Tag, asset name, and gh-release unchanged.
Verified locally: `cargo zigbuild --release --target
x86_64-unknown-linux-gnu.2.39 -p beyond-queue` builds; max required
symbol is GLIBC_2.38 (under the 2.39 ceiling).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 733dfd8 commit cbfb277
2 files changed
Lines changed: 13 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| 18 | + | |
| 19 | + | |
18 | 20 | | |
19 | 21 | | |
| 22 | + | |
| 23 | + | |
20 | 24 | | |
21 | 25 | | |
22 | 26 | | |
| |||
26 | 30 | | |
27 | 31 | | |
28 | 32 | | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
29 | 36 | | |
30 | | - | |
| 37 | + | |
31 | 38 | | |
32 | 39 | | |
33 | 40 | | |
34 | 41 | | |
35 | | - | |
| 42 | + | |
36 | 43 | | |
37 | 44 | | |
38 | 45 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
11 | 15 | | |
12 | 16 | | |
13 | 17 | | |
| |||
0 commit comments