From 8207b87c33f109accc9903085bbcb6005df4cdc1 Mon Sep 17 00:00:00 2001 From: lucaronin Date: Sat, 25 Apr 2026 14:39:19 +0200 Subject: [PATCH] fix: include linux signatures in stable release --- .github/workflows/release-stable.yml | 33 ++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-stable.yml b/.github/workflows/release-stable.yml index 8938adf4..24002767 100644 --- a/.github/workflows/release-stable.yml +++ b/.github/workflows/release-stable.yml @@ -324,13 +324,36 @@ jobs: run: | pnpm tauri build --target x86_64-unknown-linux-gnu --bundles deb,appimage + - name: Validate Linux bundles + run: | + shopt -s nullglob + installers=( + src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage + src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/*.deb + ) + signatures=( + src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage.sig + src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage.tar.gz.sig + src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/*.deb.sig + ) + if [ ${#installers[@]} -eq 0 ]; then + echo "::error::Linux build produced no AppImage or deb bundle." + exit 1 + fi + if [ ${#signatures[@]} -eq 0 ]; then + echo "::error::Linux build produced no updater signature (.sig) artifact." + exit 1 + fi + - name: Upload Linux bundles uses: actions/upload-artifact@v4 with: name: linux-x86_64-bundles path: | src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/*.deb + src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/deb/*.deb.sig src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage + src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage.sig src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage.tar.gz src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage.tar.gz.sig if-no-files-found: error @@ -504,13 +527,15 @@ jobs: PAGES_URL="https://refactoringhq.github.io/${REPO_NAME}/" find_required() { - for pattern in "$@"; do + local patterns=("$@") + for pattern in "${patterns[@]}"; do set -- $pattern if [ -e "$1" ]; then printf '%s\n' "$1" return 0 fi done + echo "::error::Missing required artifact matching one of: ${patterns[*]}" >&2 return 1 } @@ -520,7 +545,7 @@ jobs: ARM_TARBALL=$(basename "$ARM_UPDATER_FILE") ARM_DMG=$(basename "$(find_required "dmg-aarch64/*.dmg")") - LINUX_SIG_FILE=$(find_required "linux-x86_64-bundles/*/*.AppImage.sig" "linux-x86_64-bundles/*/*.AppImage.tar.gz.sig" "linux-x86_64-bundles/*.AppImage.sig" "linux-x86_64-bundles/*.AppImage.tar.gz.sig") + LINUX_SIG_FILE=$(find_required "linux-x86_64-bundles/*/*.AppImage.sig" "linux-x86_64-bundles/*/*.AppImage.tar.gz.sig" "linux-x86_64-bundles/*/*.deb.sig" "linux-x86_64-bundles/*.AppImage.sig" "linux-x86_64-bundles/*.AppImage.tar.gz.sig" "linux-x86_64-bundles/*.deb.sig") LINUX_UPDATER_FILE="${LINUX_SIG_FILE%.sig}" LINUX_SIG=$(cat "$LINUX_SIG_FILE") LINUX_UPDATER=$(basename "$LINUX_UPDATER_FILE") @@ -571,11 +596,15 @@ jobs: updater-aarch64/*.app.tar.gz updater-aarch64/*.app.tar.gz.sig linux-x86_64-bundles/*.deb + linux-x86_64-bundles/*.deb.sig linux-x86_64-bundles/*.AppImage + linux-x86_64-bundles/*.AppImage.sig linux-x86_64-bundles/*.AppImage.tar.gz linux-x86_64-bundles/*.AppImage.tar.gz.sig linux-x86_64-bundles/*/*.deb + linux-x86_64-bundles/*/*.deb.sig linux-x86_64-bundles/*/*.AppImage + linux-x86_64-bundles/*/*.AppImage.sig linux-x86_64-bundles/*/*.AppImage.tar.gz linux-x86_64-bundles/*/*.AppImage.tar.gz.sig windows-x86_64-bundles/*.exe