Skip to content

Commit e97154d

Browse files
ci(shred-proxy): accept static-pie in the release linkage assert (#79)
The musl release build links as a PIE by default, which `file` reports as "static-pie linked" (no interpreter, no shared-lib deps — still fully static) rather than "statically linked". The release workflow's linkage assertion grepped only for "statically linked" and so rejected a genuinely static binary, failing the shred-proxy-v* release at the staging step. Accept both wordings.
1 parent f37cb2c commit e97154d

2 files changed

Lines changed: 7 additions & 2 deletions

File tree

.github/workflows/release.shred-proxy.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,8 +62,11 @@ jobs:
6262
cp "target/${TARGET}/release/shred-proxy" "dist/${ASSET}"
6363
# Assert (not just print) that it really is static — a dynamic build would fail on hosts
6464
# without the same libc, so a non-static artifact must fail the release, not ship silently.
65+
# A musl release build links as a PIE by default, which `file` reports as "static-pie
66+
# linked" (still no interpreter / no shared-lib deps) rather than "statically linked";
67+
# accept both so a genuinely static binary isn't rejected.
6568
file "dist/${ASSET}"
66-
if ! file "dist/${ASSET}" | grep -q 'statically linked'; then
69+
if ! file "dist/${ASSET}" | grep -Eq 'statically linked|static-pie linked'; then
6770
echo "error: ${ASSET} is not statically linked — refusing to publish" >&2
6871
exit 1
6972
fi

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3838
clean `ip route get` non-zero exit → treated as inactive) from a genuine probe failure
3939
(spawn/decode error → keep current), so a routeless unsubscribed candidate on a host with no
4040
default route can't stall activation. Release publishes pin a dispatch-created tag to the built
41-
commit (`--target`), and the shipped env example documents `sigverify`/`DZ_RPC_URL`.
41+
commit (`--target`), and the shipped env example documents `sigverify`/`DZ_RPC_URL`. The
42+
static-linkage assertion now also accepts `file`'s `static-pie linked` wording (a musl release
43+
build links as a PIE by default), so a genuinely static binary is no longer rejected at publish.
4244
- **Per-tick win counters** `dz_quote_ticks_won_total{venue, publisher}` /
4345
`dz_depth_ticks_won_total{venue, publisher}` — the published win-rate primitive. Every
4446
`source_ts` tick counts exactly once, for the publisher class whose copy arrived first: a

0 commit comments

Comments
 (0)