Skip to content

Commit 77a7cfc

Browse files
committed
fix(ci): standardize artifact names for all platforms
1 parent f9498f2 commit 77a7cfc

1 file changed

Lines changed: 89 additions & 45 deletions

File tree

.github/workflows/build-release.yml

Lines changed: 89 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -130,29 +130,39 @@ jobs:
130130
- name: Build Tauri (x64)
131131
run: pnpm tauri build --target x86_64-pc-windows-msvc
132132

133-
- name: Prepare portable executable
133+
- name: Rename and Prepare artifacts
134134
shell: bash
135135
run: |
136136
VERSION="${{ needs.create-release.outputs.version }}"
137-
cp src-tauri/target/x86_64-pc-windows-msvc/release/zero-limit.exe "ZeroLimit_${VERSION}_portable.exe"
137+
138+
# Portable EXE
139+
cp src-tauri/target/x86_64-pc-windows-msvc/release/zero-limit.exe "ZeroLimit_${VERSION}_Windows_x64_portable.exe"
140+
141+
# NSIS Installer
142+
mv src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/ZeroLimit_${VERSION}_x64-setup.exe "ZeroLimit_${VERSION}_Windows_x64-setup.exe"
143+
mv src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/ZeroLimit_${VERSION}_x64-setup.exe.sig "ZeroLimit_${VERSION}_Windows_x64-setup.exe.sig"
144+
145+
# MSI Installer
146+
mv src-tauri/target/x86_64-pc-windows-msvc/release/bundle/msi/ZeroLimit_${VERSION}_x64_en-US.msi "ZeroLimit_${VERSION}_Windows_x64.msi"
147+
mv src-tauri/target/x86_64-pc-windows-msvc/release/bundle/msi/ZeroLimit_${VERSION}_x64_en-US.msi.sig "ZeroLimit_${VERSION}_Windows_x64.msi.sig"
138148
139149
- name: Upload artifacts to release
140150
uses: softprops/action-gh-release@v2
141151
with:
142152
tag_name: v${{ needs.create-release.outputs.version }}
143153
draft: true
144154
files: |
145-
src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/*.exe
146-
src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/*.exe.sig
147-
src-tauri/target/x86_64-pc-windows-msvc/release/bundle/msi/*.msi
148-
src-tauri/target/x86_64-pc-windows-msvc/release/bundle/msi/*.msi.sig
149-
ZeroLimit_*_portable.exe
155+
ZeroLimit_*_Windows_x64-setup.exe
156+
ZeroLimit_*_Windows_x64-setup.exe.sig
157+
ZeroLimit_*_Windows_x64.msi
158+
ZeroLimit_*_Windows_x64.msi.sig
159+
ZeroLimit_*_Windows_x64_portable.exe
150160
151161
- name: Upload signatures for latest.json
152162
uses: actions/upload-artifact@v4
153163
with:
154164
name: signatures-windows-x64
155-
path: src-tauri/target/x86_64-pc-windows-msvc/release/bundle/nsis/*.sig
165+
path: ZeroLimit_*_Windows_x64-setup.exe.sig
156166

157167
# ===========================================
158168
# 3. Build Windows ARM64
@@ -198,29 +208,39 @@ jobs:
198208
- name: Build Tauri (ARM64)
199209
run: pnpm tauri build --target aarch64-pc-windows-msvc
200210

201-
- name: Prepare portable executable
211+
- name: Rename and Prepare artifacts
202212
shell: bash
203213
run: |
204214
VERSION="${{ needs.create-release.outputs.version }}"
205-
cp src-tauri/target/aarch64-pc-windows-msvc/release/zero-limit.exe "ZeroLimit_${VERSION}_arm64_portable.exe"
215+
216+
# Portable EXE
217+
cp src-tauri/target/aarch64-pc-windows-msvc/release/zero-limit.exe "ZeroLimit_${VERSION}_Windows_arm64_portable.exe"
218+
219+
# NSIS Installer
220+
mv src-tauri/target/aarch64-pc-windows-msvc/release/bundle/nsis/ZeroLimit_${VERSION}_arm64-setup.exe "ZeroLimit_${VERSION}_Windows_arm64-setup.exe"
221+
mv src-tauri/target/aarch64-pc-windows-msvc/release/bundle/nsis/ZeroLimit_${VERSION}_arm64-setup.exe.sig "ZeroLimit_${VERSION}_Windows_arm64-setup.exe.sig"
222+
223+
# MSI Installer
224+
mv src-tauri/target/aarch64-pc-windows-msvc/release/bundle/msi/ZeroLimit_${VERSION}_arm64_en-US.msi "ZeroLimit_${VERSION}_Windows_arm64.msi"
225+
mv src-tauri/target/aarch64-pc-windows-msvc/release/bundle/msi/ZeroLimit_${VERSION}_arm64_en-US.msi.sig "ZeroLimit_${VERSION}_Windows_arm64.msi.sig"
206226
207227
- name: Upload artifacts to release
208228
uses: softprops/action-gh-release@v2
209229
with:
210230
tag_name: v${{ needs.create-release.outputs.version }}
211231
draft: true
212232
files: |
213-
src-tauri/target/aarch64-pc-windows-msvc/release/bundle/nsis/*.exe
214-
src-tauri/target/aarch64-pc-windows-msvc/release/bundle/nsis/*.exe.sig
215-
src-tauri/target/aarch64-pc-windows-msvc/release/bundle/msi/*.msi
216-
src-tauri/target/aarch64-pc-windows-msvc/release/bundle/msi/*.msi.sig
217-
ZeroLimit_*_portable.exe
233+
ZeroLimit_*_Windows_arm64-setup.exe
234+
ZeroLimit_*_Windows_arm64-setup.exe.sig
235+
ZeroLimit_*_Windows_arm64.msi
236+
ZeroLimit_*_Windows_arm64.msi.sig
237+
ZeroLimit_*_Windows_arm64_portable.exe
218238
219239
- name: Upload signatures for latest.json
220240
uses: actions/upload-artifact@v4
221241
with:
222242
name: signatures-windows-arm64
223-
path: src-tauri/target/aarch64-pc-windows-msvc/release/bundle/nsis/*.sig
243+
path: ZeroLimit_*_Windows_arm64-setup.exe.sig
224244

225245
# ===========================================
226246
# 4. Build macOS (Universal: x64 + ARM64)
@@ -269,26 +289,38 @@ jobs:
269289
- name: Build Tauri (Intel)
270290
run: pnpm tauri build --target x86_64-apple-darwin
271291

292+
- name: Rename and Prepare artifacts
293+
run: |
294+
VERSION="${{ needs.create-release.outputs.version }}"
295+
296+
# Rename Apple Silicon artifacts
297+
mv src-tauri/target/aarch64-apple-darwin/release/bundle/dmg/ZeroLimit_${VERSION}_aarch64.dmg "ZeroLimit_${VERSION}_macOS_aarch64.dmg"
298+
mv src-tauri/target/aarch64-apple-darwin/release/bundle/macos/ZeroLimit.app.tar.gz "ZeroLimit_${VERSION}_macOS_aarch64.app.tar.gz"
299+
mv src-tauri/target/aarch64-apple-darwin/release/bundle/macos/ZeroLimit.app.tar.gz.sig "ZeroLimit_${VERSION}_macOS_aarch64.app.tar.gz.sig"
300+
301+
# Rename Intel artifacts
302+
mv src-tauri/target/x86_64-apple-darwin/release/bundle/dmg/ZeroLimit_${VERSION}_x64.dmg "ZeroLimit_${VERSION}_macOS_x64.dmg"
303+
mv src-tauri/target/x86_64-apple-darwin/release/bundle/macos/ZeroLimit.app.tar.gz "ZeroLimit_${VERSION}_macOS_x64.app.tar.gz"
304+
mv src-tauri/target/x86_64-apple-darwin/release/bundle/macos/ZeroLimit.app.tar.gz.sig "ZeroLimit_${VERSION}_macOS_x64.app.tar.gz.sig"
305+
272306
- name: Upload artifacts to release
273307
uses: softprops/action-gh-release@v2
274308
with:
275309
tag_name: v${{ needs.create-release.outputs.version }}
276310
draft: true
277311
files: |
278-
src-tauri/target/aarch64-apple-darwin/release/bundle/dmg/*.dmg
279-
src-tauri/target/aarch64-apple-darwin/release/bundle/macos/*.app.tar.gz
280-
src-tauri/target/aarch64-apple-darwin/release/bundle/macos/*.app.tar.gz.sig
281-
src-tauri/target/x86_64-apple-darwin/release/bundle/dmg/*.dmg
282-
src-tauri/target/x86_64-apple-darwin/release/bundle/macos/*.app.tar.gz
283-
src-tauri/target/x86_64-apple-darwin/release/bundle/macos/*.app.tar.gz.sig
312+
ZeroLimit_*_macOS_aarch64.dmg
313+
ZeroLimit_*_macOS_x64.dmg
314+
ZeroLimit_*_macOS_aarch64.app.tar.gz
315+
ZeroLimit_*_macOS_aarch64.app.tar.gz.sig
316+
ZeroLimit_*_macOS_x64.app.tar.gz
317+
ZeroLimit_*_macOS_x64.app.tar.gz.sig
284318
285319
- name: Upload signatures for latest.json
286320
uses: actions/upload-artifact@v4
287321
with:
288322
name: signatures-macos
289-
path: |
290-
src-tauri/target/aarch64-apple-darwin/release/bundle/macos/*.app.tar.gz.sig
291-
src-tauri/target/x86_64-apple-darwin/release/bundle/macos/*.app.tar.gz.sig
323+
path: ZeroLimit_*_macOS_*.app.tar.gz.sig
292324

293325
# ===========================================
294326
# 5. Build Linux x64
@@ -345,23 +377,38 @@ jobs:
345377
- name: Build Tauri
346378
run: pnpm tauri build
347379

380+
- name: Rename and Prepare artifacts
381+
run: |
382+
VERSION="${{ needs.create-release.outputs.version }}"
383+
384+
# Debian (using wildcard for safety)
385+
mv src-tauri/target/release/bundle/deb/*_${VERSION}_amd64.deb "ZeroLimit_${VERSION}_Linux_x64.deb"
386+
387+
# RPM (using wildcard for safety)
388+
mv src-tauri/target/release/bundle/rpm/*-${VERSION}-1.x86_64.rpm "ZeroLimit_${VERSION}_Linux_x64.rpm"
389+
390+
# AppImage (using wildcard for safety)
391+
mv src-tauri/target/release/bundle/appimage/*_${VERSION}_amd64.AppImage "ZeroLimit_${VERSION}_Linux_x64.AppImage"
392+
mv src-tauri/target/release/bundle/appimage/*_${VERSION}_amd64.AppImage.tar.gz "ZeroLimit_${VERSION}_Linux_x64.AppImage.tar.gz"
393+
mv src-tauri/target/release/bundle/appimage/*_${VERSION}_amd64.AppImage.tar.gz.sig "ZeroLimit_${VERSION}_Linux_x64.AppImage.tar.gz.sig"
394+
348395
- name: Upload artifacts to release
349396
uses: softprops/action-gh-release@v2
350397
with:
351398
tag_name: v${{ needs.create-release.outputs.version }}
352399
draft: true
353400
files: |
354-
src-tauri/target/release/bundle/deb/*.deb
355-
src-tauri/target/release/bundle/rpm/*.rpm
356-
src-tauri/target/release/bundle/appimage/*.AppImage
357-
src-tauri/target/release/bundle/appimage/*.AppImage.tar.gz
358-
src-tauri/target/release/bundle/appimage/*.AppImage.tar.gz.sig
401+
ZeroLimit_*_Linux_x64.deb
402+
ZeroLimit_*_Linux_x64.rpm
403+
ZeroLimit_*_Linux_x64.AppImage
404+
ZeroLimit_*_Linux_x64.AppImage.tar.gz
405+
ZeroLimit_*_Linux_x64.AppImage.tar.gz.sig
359406
360407
- name: Upload signatures for latest.json
361408
uses: actions/upload-artifact@v4
362409
with:
363410
name: signatures-linux
364-
path: src-tauri/target/release/bundle/appimage/*.AppImage.tar.gz.sig
411+
path: ZeroLimit_*_Linux_x64.AppImage.tar.gz.sig
365412

366413
# ===========================================
367414
# 6. Publish Release + Generate latest.json
@@ -389,37 +436,34 @@ jobs:
389436
REPO="${{ github.repository }}"
390437
DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
391438
392-
# Read signature files (use find to be resilient to naming variations)
393-
WIN_X64_SIG=$(find signatures -name "*x64*setup*.sig" -o -name "*x86_64*setup*.sig" | head -1 | xargs cat 2>/dev/null || echo "")
394-
WIN_ARM64_SIG=$(find signatures -name "*arm64*setup*.sig" -o -name "*aarch64*setup*.sig" | head -1 | xargs cat 2>/dev/null || echo "")
395-
MACOS_ARM64_SIG=$(find signatures -path "*aarch64-apple*" -name "*.sig" | head -1 | xargs cat 2>/dev/null || echo "")
396-
MACOS_X64_SIG=$(find signatures -path "*x86_64-apple*" -name "*.sig" | head -1 | xargs cat 2>/dev/null || echo "")
397-
LINUX_SIG=$(find signatures -name "*.AppImage.tar.gz.sig" | head -1 | xargs cat 2>/dev/null || echo "")
439+
# Read signature files
440+
WIN_X64_SIG=$(find signatures -name "*Windows_x64-setup.exe.sig" | head -1 | xargs cat 2>/dev/null || echo "")
441+
WIN_ARM64_SIG=$(find signatures -name "*Windows_arm64-setup.exe.sig" | head -1 | xargs cat 2>/dev/null || echo "")
442+
MACOS_ARM64_SIG=$(find signatures -name "*macOS_aarch64.app.tar.gz.sig" | head -1 | xargs cat 2>/dev/null || echo "")
443+
MACOS_X64_SIG=$(find signatures -name "*macOS_x64.app.tar.gz.sig" | head -1 | xargs cat 2>/dev/null || echo "")
444+
LINUX_SIG=$(find signatures -name "*Linux_x64.AppImage.tar.gz.sig" | head -1 | xargs cat 2>/dev/null || echo "")
398445
399446
# Build platforms JSON dynamically
400447
PLATFORMS="{"
401448
402449
if [ -n "$WIN_X64_SIG" ]; then
403-
PLATFORMS="$PLATFORMS\"windows-x86_64\":{\"signature\":\"$WIN_X64_SIG\",\"url\":\"https://github.com/$REPO/releases/download/v$VERSION/ZeroLimit_${VERSION}_x64-setup.exe\"},"
450+
PLATFORMS="$PLATFORMS\"windows-x86_64\":{\"signature\":\"$WIN_X64_SIG\",\"url\":\"https://github.com/$REPO/releases/download/v$VERSION/ZeroLimit_${VERSION}_Windows_x64-setup.exe\"},"
404451
fi
405452
406453
if [ -n "$WIN_ARM64_SIG" ]; then
407-
PLATFORMS="$PLATFORMS\"windows-aarch64\":{\"signature\":\"$WIN_ARM64_SIG\",\"url\":\"https://github.com/$REPO/releases/download/v$VERSION/ZeroLimit_${VERSION}_arm64-setup.exe\"},"
454+
PLATFORMS="$PLATFORMS\"windows-aarch64\":{\"signature\":\"$WIN_ARM64_SIG\",\"url\":\"https://github.com/$REPO/releases/download/v$VERSION/ZeroLimit_${VERSION}_Windows_arm64-setup.exe\"},"
408455
fi
409456
410457
if [ -n "$MACOS_ARM64_SIG" ]; then
411-
MACOS_ARM64_FILENAME=$(find signatures -path "*aarch64-apple*" -name "*.sig" | head -1 | xargs basename | sed 's/.sig$//')
412-
PLATFORMS="$PLATFORMS\"darwin-aarch64\":{\"signature\":\"$MACOS_ARM64_SIG\",\"url\":\"https://github.com/$REPO/releases/download/v$VERSION/$MACOS_ARM64_FILENAME\"},"
458+
PLATFORMS="$PLATFORMS\"darwin-aarch64\":{\"signature\":\"$MACOS_ARM64_SIG\",\"url\":\"https://github.com/$REPO/releases/download/v$VERSION/ZeroLimit_${VERSION}_macOS_aarch64.app.tar.gz\"},"
413459
fi
414460
415461
if [ -n "$MACOS_X64_SIG" ]; then
416-
MACOS_X64_FILENAME=$(find signatures -path "*x86_64-apple*" -name "*.sig" | head -1 | xargs basename | sed 's/.sig$//')
417-
PLATFORMS="$PLATFORMS\"darwin-x86_64\":{\"signature\":\"$MACOS_X64_SIG\",\"url\":\"https://github.com/$REPO/releases/download/v$VERSION/$MACOS_X64_FILENAME\"},"
462+
PLATFORMS="$PLATFORMS\"darwin-x86_64\":{\"signature\":\"$MACOS_X64_SIG\",\"url\":\"https://github.com/$REPO/releases/download/v$VERSION/ZeroLimit_${VERSION}_macOS_x64.app.tar.gz\"},"
418463
fi
419464
420465
if [ -n "$LINUX_SIG" ]; then
421-
LINUX_FILENAME=$(find signatures -name "*.AppImage.tar.gz.sig" | head -1 | xargs basename | sed 's/.sig$//')
422-
PLATFORMS="$PLATFORMS\"linux-x86_64\":{\"signature\":\"$LINUX_SIG\",\"url\":\"https://github.com/$REPO/releases/download/v$VERSION/$LINUX_FILENAME\"},"
466+
PLATFORMS="$PLATFORMS\"linux-x86_64\":{\"signature\":\"$LINUX_SIG\",\"url\":\"https://github.com/$REPO/releases/download/v$VERSION/ZeroLimit_${VERSION}_Linux_x64.AppImage.tar.gz\"},"
423467
fi
424468
425469
# Remove trailing comma and close

0 commit comments

Comments
 (0)