@@ -124,9 +124,12 @@ jobs:
124124 if [[ "${{ matrix.os }}" == windows* ]]; then TRIPLE=win32-$ARCH; fi
125125 NAME=sqlite-vec-$TRIPLE.$EXT
126126 echo "Uploading $NAME"
127- gh release upload "${{ needs.ensure-release.outputs.tag }}" "${{ steps.find_art.outputs.artifact }}#${NAME}" --clobber -R "$GITHUB_REPOSITORY"
127+ # Rename by copying to a temp filepath so the asset name is exact even on old gh versions
128+ TMPFILE=$(mktemp)
129+ rm -f "$TMPFILE" && cp "${{ steps.find_art.outputs.artifact }}" "$NAME"
130+ gh release upload "${{ needs.ensure-release.outputs.tag }}" "$NAME" --clobber -R "$GITHUB_REPOSITORY"
128131 # Create checksum file for the uploaded asset name
129- HASH=$(node -e "const fs=require('fs');const c=require('crypto');const d=fs.readFileSync(process.argv[1]);process.stdout.write(c.createHash('sha256').update(d).digest('hex'));" "${{ steps.find_art.outputs.artifact }} ")
132+ HASH=$(node -e "const fs=require('fs');const c=require('crypto');const d=fs.readFileSync(process.argv[1]);process.stdout.write(c.createHash('sha256').update(d).digest('hex'));" "$NAME ")
130133 printf "%s %s" "$HASH" "$NAME" > "$NAME.sha256"
131134 gh release upload "${{ needs.ensure-release.outputs.tag }}" "$NAME.sha256" --clobber -R "$GITHUB_REPOSITORY"
132135 # Verify asset is present on the release (tolerate eventual consistency)
@@ -197,8 +200,9 @@ jobs:
197200 [ -n "$ART" ] || (echo "No artifact" && exit 1)
198201 NAME=sqlite-vec-linux-x64-musl.so
199202 echo "Uploading $NAME"
200- gh release upload "${{ needs.ensure-release.outputs.tag }}" "$ART#$NAME" --clobber -R "$GITHUB_REPOSITORY"
201- HASH=$(node -e "const fs=require('fs');const c=require('crypto');const d=fs.readFileSync(process.argv[1]);process.stdout.write(c.createHash('sha256').update(d).digest('hex'));" "$ART")
203+ cp "$ART" "$NAME"
204+ gh release upload "${{ needs.ensure-release.outputs.tag }}" "$NAME" --clobber -R "$GITHUB_REPOSITORY"
205+ HASH=$(node -e "const fs=require('fs');const c=require('crypto');const d=fs.readFileSync(process.argv[1]);process.stdout.write(c.createHash('sha256').update(d).digest('hex'));" "$NAME")
202206 printf "%s %s" "$HASH" "$NAME" > "$NAME.sha256"
203207 gh release upload "${{ needs.ensure-release.outputs.tag }}" "$NAME.sha256" --clobber -R "$GITHUB_REPOSITORY"
204208 # Verify asset exists (HEAD the direct URL with retries)
@@ -248,8 +252,9 @@ jobs:
248252 for f in sqlite-vec/dist/*.so sqlite-vec/sqlite-vec*.so; do [ -f "$f" ] && ART="$f" && break; done
249253 if [ "${{ matrix.arch }}" = "arm/v7" ]; then ARCH=armv7; else ARCH=arm64; fi
250254 NAME=sqlite-vec-linux-$ARCH-musl.so
251- gh release upload "${{ needs.ensure-release.outputs.tag }}" "$ART#$NAME" --clobber -R "$GITHUB_REPOSITORY"
252- HASH=$(node -e "const fs=require('fs');const c=require('crypto');const d=fs.readFileSync(process.argv[1]);process.stdout.write(c.createHash('sha256').update(d).digest('hex'));" "$ART")
255+ cp "$ART" "$NAME"
256+ gh release upload "${{ needs.ensure-release.outputs.tag }}" "$NAME" --clobber -R "$GITHUB_REPOSITORY"
257+ HASH=$(node -e "const fs=require('fs');const c=require('crypto');const d=fs.readFileSync(process.argv[1]);process.stdout.write(c.createHash('sha256').update(d).digest('hex'));" "$NAME")
253258 printf "%s %s" "$HASH" "$NAME" > "$NAME.sha256"
254259 gh release upload "${{ needs.ensure-release.outputs.tag }}" "$NAME.sha256" --clobber -R "$GITHUB_REPOSITORY"
255260 # Verify asset exists (HEAD the direct URL with retries)
@@ -286,8 +291,9 @@ jobs:
286291 ART=""
287292 for f in sqlite-vec/dist/*.so sqlite-vec/sqlite-vec*.so; do [ -f "$f" ] && ART="$f" && break; done
288293 NAME=sqlite-vec-linux-arm64-gnu.so
289- gh release upload "${{ needs.ensure-release.outputs.tag }}" "$ART#$NAME" --clobber -R "$GITHUB_REPOSITORY"
290- HASH=$(node -e "const fs=require('fs');const c=require('crypto');const d=fs.readFileSync(process.argv[1]);process.stdout.write(c.createHash('sha256').update(d).digest('hex'));" "$ART")
294+ cp "$ART" "$NAME"
295+ gh release upload "${{ needs.ensure-release.outputs.tag }}" "$NAME" --clobber -R "$GITHUB_REPOSITORY"
296+ HASH=$(node -e "const fs=require('fs');const c=require('crypto');const d=fs.readFileSync(process.argv[1]);process.stdout.write(c.createHash('sha256').update(d).digest('hex'));" "$NAME")
291297 printf "%s %s" "$HASH" "$NAME" > "$NAME.sha256"
292298 gh release upload "${{ needs.ensure-release.outputs.tag }}" "$NAME.sha256" --clobber -R "$GITHUB_REPOSITORY"
293299 # Verify asset exists (HEAD the direct URL with retries)
0 commit comments