Release workflow: sh-safe mkdir, arm64 cross libc headers
ci / quality (push) Successful in 2m17s

Both v0.1.0 build jobs failed: packaging used brace expansion under
plain sh (literal '{bin,systemd/user,man}' directory), and the aarch64
job lacked libc6-dev-arm64-cross because --no-install-recommends skips
it, so blake3's NEON unit compiled against host headers.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y42TyF8Zu7NGRR2893vNcZ
This commit is contained in:
Bendik Aagaard Lynghaug
2026-08-30 22:14:13 +02:00
co-authored by Claude Fable 5
parent 1a5071b4ab
commit 76f5b39d5b
+9 -2
View File
@@ -36,7 +36,12 @@ jobs:
apt-get update apt-get update
apt-get install -y --no-install-recommends scdoc jq apt-get install -y --no-install-recommends scdoc jq
if [ "${{ matrix.target }}" = "aarch64-unknown-linux-gnu" ]; then if [ "${{ matrix.target }}" = "aarch64-unknown-linux-gnu" ]; then
apt-get install -y --no-install-recommends gcc-aarch64-linux-gnu # libc6-dev-arm64-cross is a Recommends of the cross gcc, so
# --no-install-recommends skips it — without it cc-rs builds
# (blake3's NEON unit) fall back to host headers and die on
# bits/wordsize.h.
apt-get install -y --no-install-recommends \
gcc-aarch64-linux-gnu libc6-dev-arm64-cross
fi fi
rustup target add ${{ matrix.target }} rustup target add ${{ matrix.target }}
@@ -50,7 +55,9 @@ jobs:
run: | run: |
VERSION="${GITHUB_REF_NAME#v}" VERSION="${GITHUB_REF_NAME#v}"
PKG="varde-${VERSION}-${{ matrix.target }}" PKG="varde-${VERSION}-${{ matrix.target }}"
mkdir -p "$PKG"/{bin,systemd/user,man} # Steps run under plain `sh`, which has no brace expansion —
# spell the directories out.
mkdir -p "$PKG/bin" "$PKG/systemd/user" "$PKG/man"
cp "target/${{ matrix.target }}/release/varde-daemon" \ cp "target/${{ matrix.target }}/release/varde-daemon" \
"target/${{ matrix.target }}/release/varde-ctl" "$PKG/bin/" "target/${{ matrix.target }}/release/varde-ctl" "$PKG/bin/"
# Cross-strip is unavailable for the foreign target; native # Cross-strip is unavailable for the foreign target; native