Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 25 additions & 36 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -73,9 +73,7 @@ jobs:

- name: Install Linux dependencies
if: matrix.os == 'linux'
shell: bash
run: |
set -euxo pipefail
sudo apt-get update
# Core build tools and pkg-config
sudo apt-get install -y --no-install-recommends \
Expand All @@ -87,17 +85,15 @@ jobs:
patchelf \
libssl-dev \
rpm \
flatpak \
flatpak-builder \
elfutils
# GTK/GLib stack for gdk-3.0, glib-2.0, gio-2.0
sudo apt-get install -y --no-install-recommends \
libgtk-3-dev \
elfutils \
librsvg2-dev \
libgtk-3-dev \
libayatana-appindicator3-dev

# WebKit2GTK (version differs across Ubuntu images; try 4.1 then 4.0)
sudo apt-get install -y --no-install-recommends libwebkit2gtk-4.1-dev \
|| sudo apt-get install -y --no-install-recommends libwebkit2gtk-4.0-dev

# libsoup also changed major version; prefer 3.0 with fallback to 2.4
sudo apt-get install -y --no-install-recommends libsoup-3.0-dev \
|| sudo apt-get install -y --no-install-recommends libsoup2.4-dev
Expand Down Expand Up @@ -170,16 +166,19 @@ jobs:
bun build --compile --target=bun-linux-x64 ./src/index.ts --outfile desktop/src-tauri/bin/shield
fi

- name: Build Tauri app
- name: Build Tauri app (Linux)
if: matrix.os == 'linux'
working-directory: desktop
env:
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
run: |
if [ "${{ matrix.os }}" = "linux" ]; then
pnpm tauri build --target ${{ matrix.target }} --bundles appimage,deb,rpm
else
pnpm tauri build --target ${{ matrix.target }}
fi
run: pnpm tauri build --target ${{ matrix.target }} --bundles appimage,deb,rpm

- name: Build Tauri app (Non-Linux)
if: matrix.os != 'linux'
working-directory: desktop
env:
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
run: pnpm tauri build --target ${{ matrix.target }}

- name: Package macOS artifacts
if: matrix.os == 'darwin'
Expand Down Expand Up @@ -220,40 +219,30 @@ jobs:
if: matrix.os == 'linux'
shell: bash
run: |
set -euxo pipefail
set -euo pipefail
mkdir -p release-assets
VERSION="${{ github.event.inputs.version || github.ref_name }}"

# AppImage (updater artifact)
APPIMAGE=$(find desktop/src-tauri/target/${{ matrix.target }}/release/bundle -name "*.AppImage" | head -1 || true)
APPIMAGE=$(find desktop/src-tauri/target/${{ matrix.target }}/release/bundle/appimage -name "*.AppImage" 2>/dev/null | head -1 || true)
if [ -n "$APPIMAGE" ]; then
NEW_APPIMAGE="${APP_NAME}-${VERSION}-linux-${{ matrix.arch }}.AppImage"
cp "$APPIMAGE" "release-assets/$NEW_APPIMAGE"
chmod +x "release-assets/$NEW_APPIMAGE"
[ -f "$APPIMAGE.sig" ] && cp "$APPIMAGE.sig" "release-assets/$NEW_APPIMAGE.sig" || echo ".sig for AppImage not found"
echo "AppImage copied: $NEW_APPIMAGE"
else
echo "No AppImage found under target/release/bundle" >&2
[ -f "$APPIMAGE.sig" ] && cp "$APPIMAGE.sig" "release-assets/$NEW_APPIMAGE.sig"
echo "AppImage: $NEW_APPIMAGE"
fi

# Deb package
DEB=$(find desktop/src-tauri/target/${{ matrix.target }}/release/bundle -name "*.deb" | head -1 || true)
DEB=$(find desktop/src-tauri/target/${{ matrix.target }}/release/bundle/deb -name "*.deb" 2>/dev/null | head -1 || true)
if [ -n "$DEB" ]; then
NEW_DEB="${APP_NAME}-${VERSION}-linux-${{ matrix.arch }}.deb"
cp "$DEB" "release-assets/$NEW_DEB"
echo "Deb package copied: $NEW_DEB"
else
echo "No .deb found (optional)"
cp "$DEB" "release-assets/${APP_NAME}-${VERSION}-linux-${{ matrix.arch }}.deb"
fi

# RPM package
RPM=$(find desktop/src-tauri/target/${{ matrix.target }}/release/bundle -name "*.rpm" | head -1 || true)
RPM=$(find desktop/src-tauri/target/${{ matrix.target }}/release/bundle/rpm -name "*.rpm" 2>/dev/null | head -1 || true)
if [ -n "$RPM" ]; then
NEW_RPM="${APP_NAME}-${VERSION}-linux-${{ matrix.arch }}.rpm"
cp "$RPM" "release-assets/$NEW_RPM"
echo "RPM package copied: $NEW_RPM"
else
echo "No .rpm found (optional)"
cp "$RPM" "release-assets/${APP_NAME}-${VERSION}-linux-${{ matrix.arch }}.rpm"
fi

- name: Package Windows artifacts
Expand Down
9 changes: 0 additions & 9 deletions desktop/src-tauri/tauri.conf.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,15 +47,6 @@
"certificateThumbprint": null,
"digestAlgorithm": "sha256",
"timestampUrl": ""
},
"linux": {
"deb": {
"depends": []
},
"appimage": {
"bundleMediaFramework": false,
"files": {}
}
}
},
"plugins": {
Expand Down