From 76f5b39d5b28d14c37faae1c4249b56bb02e68cd Mon Sep 17 00:00:00 2001 From: Bendik Aagaard Lynghaug Date: Sun, 30 Aug 2026 22:14:13 +0200 Subject: [PATCH] Release workflow: sh-safe mkdir, arm64 cross libc headers 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 Claude-Session: https://claude.ai/code/session_01Y42TyF8Zu7NGRR2893vNcZ --- .gitea/workflows/release.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitea/workflows/release.yml b/.gitea/workflows/release.yml index c477836..6ae8e08 100644 --- a/.gitea/workflows/release.yml +++ b/.gitea/workflows/release.yml @@ -36,7 +36,12 @@ jobs: apt-get update apt-get install -y --no-install-recommends scdoc jq 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 rustup target add ${{ matrix.target }} @@ -50,7 +55,9 @@ jobs: run: | VERSION="${GITHUB_REF_NAME#v}" 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" \ "target/${{ matrix.target }}/release/varde-ctl" "$PKG/bin/" # Cross-strip is unavailable for the foreign target; native