From 62b70841c016ebd9b4dc62aed3d1749eb04e0d1b Mon Sep 17 00:00:00 2001 From: kauenet Date: Fri, 26 Jun 2026 18:52:12 -0300 Subject: [PATCH] =?UTF-8?q?ci(release):=20fix=20artifact=20flatten=20?= =?UTF-8?q?=E2=80=94=20use=20download-artifact=20merge-multiple?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The flatten step moved each downloaded artifact file back into its own same-named directory, leaving dist/safe-ai-skill- as directories and breaking 'sha256sum ... > SHA256SUMS' (Is a directory). Use merge-multiple: true so artifacts land directly in dist/. Same fix applied to the vendor-binaries job. Verified locally that SHA256SUMS generation and sha256sum -c both pass against the flattened layout. --- .github/workflows/release.yml | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 45a4288..54e1360 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -143,21 +143,18 @@ jobs: steps: - uses: actions/checkout@v4 + # merge-multiple flattens every artifact into dist/ directly (no per-artifact + # subdirs), so the binary filenames don't collide with directory names. - name: Download all artifacts uses: actions/download-artifact@v4 with: path: dist/ - - # Each artifact was uploaded as its own named artifact; flatten to dist/ - - name: Flatten artifact directories - run: | - find dist/ -mindepth 2 -type f -exec mv {} dist/ \; - rmdir dist/*/ 2>/dev/null || true - ls -lh dist/ + merge-multiple: true - name: Generate SHA256SUMS working-directory: dist run: | + ls -lh sha256sum safe-ai-skill-darwin-arm64 safe-ai-skill-darwin-x64 safe-ai-skill-linux-x64 safe-ai-skill-linux-arm64 \ > SHA256SUMS cat SHA256SUMS @@ -213,11 +210,11 @@ jobs: uses: actions/download-artifact@v4 with: path: dist/ + merge-multiple: true - name: Stage binaries + regenerate SHA256SUMS run: | set -euo pipefail - find dist/ -mindepth 2 -type f -exec mv {} dist/ \; || true bindir=plugins/safe-ai-skill/bin for p in darwin-arm64 darwin-x64 linux-x64 linux-arm64; do install -m 0755 "dist/safe-ai-skill-$p" "$bindir/safe-ai-skill-$p"