From ef0e85b0538b6d6ce4846c2682875a58cd4f92a9 Mon Sep 17 00:00:00 2001 From: Alexandre ETEOCLE <105340566+alexwrite@users.noreply.github.com> Date: Wed, 29 Apr 2026 22:04:34 +0200 Subject: [PATCH] ci: add rpm bundle to linux release workflows Adds RPM generation, validation, intermediate artifact upload, and final GitHub Release publish patterns for Linux alpha and stable workflows. --- .github/workflows/release-stable.yml | 11 ++++++++--- .github/workflows/release.yml | 11 ++++++++--- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release-stable.yml b/.github/workflows/release-stable.yml index cad593af..7e95de1c 100644 --- a/.github/workflows/release-stable.yml +++ b/.github/workflows/release-stable.yml @@ -274,7 +274,8 @@ jobs: wget \ patchelf \ build-essential \ - file + file \ + rpm - name: Setup pnpm uses: pnpm/action-setup@v4 @@ -326,7 +327,7 @@ jobs: VITE_POSTHOG_KEY: ${{ secrets.VITE_POSTHOG_KEY }} VITE_POSTHOG_HOST: ${{ secrets.VITE_POSTHOG_HOST }} run: | - pnpm tauri build --target x86_64-unknown-linux-gnu --bundles deb,appimage + pnpm tauri build --target x86_64-unknown-linux-gnu --bundles deb,rpm,appimage - name: Validate Linux bundles run: | @@ -334,6 +335,7 @@ jobs: 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 + src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/rpm/*.rpm ) signatures=( src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage.sig @@ -341,7 +343,7 @@ jobs: 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." + echo "::error::Linux build produced no AppImage, deb or rpm bundle." exit 1 fi if [ ${#signatures[@]} -eq 0 ]; then @@ -356,6 +358,7 @@ jobs: 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/rpm/*.rpm 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 @@ -664,12 +667,14 @@ jobs: updater-x86_64/*.app.tar.gz.sig linux-x86_64-bundles/*.deb linux-x86_64-bundles/*.deb.sig + linux-x86_64-bundles/*.rpm 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/*/*.rpm linux-x86_64-bundles/*/*.AppImage linux-x86_64-bundles/*/*.AppImage.sig linux-x86_64-bundles/*/*.AppImage.tar.gz diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e2c64912..baccc3e2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -328,7 +328,8 @@ jobs: wget \ patchelf \ build-essential \ - file + file \ + rpm - name: Setup pnpm uses: pnpm/action-setup@v4 @@ -380,7 +381,7 @@ jobs: VITE_POSTHOG_KEY: ${{ secrets.VITE_POSTHOG_KEY }} VITE_POSTHOG_HOST: ${{ secrets.VITE_POSTHOG_HOST }} run: | - pnpm tauri build --target x86_64-unknown-linux-gnu --bundles deb,appimage + pnpm tauri build --target x86_64-unknown-linux-gnu --bundles deb,rpm,appimage - name: Validate Linux bundles run: | @@ -388,6 +389,7 @@ jobs: 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 + src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/rpm/*.rpm ) signatures=( src-tauri/target/x86_64-unknown-linux-gnu/release/bundle/appimage/*.AppImage.sig @@ -395,7 +397,7 @@ jobs: 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." + echo "::error::Linux build produced no AppImage, deb or rpm bundle." exit 1 fi if [ ${#signatures[@]} -eq 0 ]; then @@ -410,6 +412,7 @@ jobs: 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/rpm/*.rpm 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 @@ -715,12 +718,14 @@ jobs: updater-x86_64/*.app.tar.gz.sig linux-x86_64-bundles/*.deb linux-x86_64-bundles/*.deb.sig + linux-x86_64-bundles/*.rpm 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/*/*.rpm linux-x86_64-bundles/*/*.AppImage linux-x86_64-bundles/*/*.AppImage.sig linux-x86_64-bundles/*/*.AppImage.tar.gz