From 5893233555c68c7bf968d4467c007bf9e5456cb2 Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Sat, 24 Jan 2026 17:56:24 +0800 Subject: [PATCH 1/7] action: fix the release action --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 35829dd..e674dbe 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -86,6 +86,7 @@ jobs: libssl-dev \ rpm \ elfutils \ + libfuse2 \ librsvg2-dev \ libgtk-3-dev \ libayatana-appindicator3-dev @@ -171,6 +172,7 @@ jobs: working-directory: desktop env: TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} + APPIMAGE_EXTRACT_AND_RUN: 1 run: pnpm tauri build --target ${{ matrix.target }} --bundles appimage,deb,rpm - name: Build Tauri app (Non-Linux) From 064e7be73d6d36e5c7a531a5833eadf41feafacb Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Sat, 24 Jan 2026 18:01:11 +0800 Subject: [PATCH 2/7] action: fix the release action --- .github/workflows/release.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e674dbe..c02d783 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,22 +27,10 @@ jobs: fail-fast: false matrix: include: - - platform: macos-latest - target: aarch64-apple-darwin - os: darwin - arch: aarch64 - - platform: macos-14 - target: x86_64-apple-darwin - os: darwin - arch: x86_64 - platform: ubuntu-22.04 target: x86_64-unknown-linux-gnu os: linux arch: x86_64 - - platform: windows-latest - target: x86_64-pc-windows-msvc - os: windows - arch: x86_64 runs-on: ${{ matrix.platform }} From a90c8a53557ddb7a912e736f20d9a284fa7f71b9 Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Sat, 24 Jan 2026 18:41:46 +0800 Subject: [PATCH 3/7] action: fix the release action --- .github/workflows/release.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c02d783..a74df08 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -73,6 +73,8 @@ jobs: patchelf \ libssl-dev \ rpm \ + flatpak \ + flatpak-builder \ elfutils \ libfuse2 \ librsvg2-dev \ @@ -160,7 +162,6 @@ jobs: working-directory: desktop env: TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} - APPIMAGE_EXTRACT_AND_RUN: 1 run: pnpm tauri build --target ${{ matrix.target }} --bundles appimage,deb,rpm - name: Build Tauri app (Non-Linux) From 5710b8a5760bada44b089a9d01d07392ed60db8e Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Sat, 24 Jan 2026 19:57:01 +0800 Subject: [PATCH 4/7] action: fix the release action - Downgrade pnpm from version 10 to 9 - Remove explicit Rust target specification from toolchain setup - Add bash shell and pipefail error handling for Linux dependency installation - Reorganize Linux dependencies: separate GTK/GLib stack installation - Add APPIMAGE_EXTRACT_AND_RUN=1 environment variable for Linux builds - Remove --target flag and add --verbose flag to Linux Tauri build command --- .github/workflows/release.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a74df08..6ff9d36 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -46,7 +46,7 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v4 with: - version: 10 + version: 9 run_install: false - name: Install Bun @@ -56,12 +56,12 @@ jobs: - name: Setup Rust uses: dtolnay/rust-toolchain@stable - with: - targets: ${{ matrix.target }} - 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 \ @@ -76,9 +76,12 @@ jobs: flatpak \ flatpak-builder \ elfutils \ - libfuse2 \ - librsvg2-dev \ + libfuse2 + + # GTK/GLib stack for gdk-3.0, glib-2.0, gio-2.0 + sudo apt-get install -y --no-install-recommends \ libgtk-3-dev \ + librsvg2-dev \ libayatana-appindicator3-dev # WebKit2GTK (version differs across Ubuntu images; try 4.1 then 4.0) @@ -162,7 +165,8 @@ jobs: working-directory: desktop env: TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} - run: pnpm tauri build --target ${{ matrix.target }} --bundles appimage,deb,rpm + APPIMAGE_EXTRACT_AND_RUN: 1 + run: pnpm tauri build --verbose --bundles appimage,deb,rpm - name: Build Tauri app (Non-Linux) if: matrix.os != 'linux' From f3ddef80f35c5796a4e775fc6ed8bd33ec60b0a1 Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Sat, 24 Jan 2026 21:04:55 +0800 Subject: [PATCH 5/7] action: add ldd wrapper workaround for Bun binary in Linux builds - Add workaround step to replace ldd with wrapper script that returns 0 for 'shield' binary - Move ldd binary to ldd.real and create wrapper that checks for /shield argument - Prevent linuxdeploy crashes when processing static/Bun binaries that cause ldd to return 1 - Split WebKit2GTK installation into separate named step with explicit shell and pipefail - Improve build reliability for Linux AppImage generation --- .github/workflows/release.yml | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6ff9d36..0656218 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -84,7 +84,29 @@ jobs: librsvg2-dev \ libayatana-appindicator3-dev - # WebKit2GTK (version differs across Ubuntu images; try 4.1 then 4.0) + - name: Workaround ldd failure for Bun binary + if: matrix.os == 'linux' + run: | + # linuxdeploy crashes if ldd returns 1 (e.g. for static/Bun binaries). + # We replace ldd with a wrapper that returns 0 for our 'shield' binary. + sudo mv /usr/bin/ldd /usr/bin/ldd.real + sudo tee /usr/bin/ldd << 'EOF' + #!/bin/bash + for arg in "$@"; do + # Check if the argument ends with /shield (the binary name) + if [[ "$arg" == *"/shield" ]]; then + exit 0 + fi + done + exec /usr/bin/ldd.real "$@" + EOF + sudo chmod +x /usr/bin/ldd + + - name: Install WebKit2GTK (version differs across Ubuntu images; try 4.1 then 4.0) + if: matrix.os == 'linux' + shell: bash + run: | + set -euxo pipefail sudo apt-get install -y --no-install-recommends libwebkit2gtk-4.1-dev \ || sudo apt-get install -y --no-install-recommends libwebkit2gtk-4.0-dev From c90a9de7aa7c61330efe562d54b0597481897f2c Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Sat, 24 Jan 2026 22:39:40 +0800 Subject: [PATCH 6/7] action: add explicit target flag to Linux Tauri build command - Add --target ${{ matrix.target }} flag to Linux build command for consistency with other platforms - Ensure Linux builds use the correct target architecture from matrix configuration --- .github/workflows/release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0656218..214d570 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -188,7 +188,7 @@ jobs: env: TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }} APPIMAGE_EXTRACT_AND_RUN: 1 - run: pnpm tauri build --verbose --bundles appimage,deb,rpm + run: pnpm tauri build --verbose --bundles appimage,deb,rpm --target ${{ matrix.target }} - name: Build Tauri app (Non-Linux) if: matrix.os != 'linux' From 6bb5178c6368938f4d311765eacf8b916206f061 Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Sat, 24 Jan 2026 23:24:43 +0800 Subject: [PATCH 7/7] action: fix the release action --- .github/workflows/release.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 214d570..eaead03 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -27,10 +27,22 @@ jobs: fail-fast: false matrix: include: + - platform: macos-latest + target: aarch64-apple-darwin + os: darwin + arch: aarch64 + - platform: macos-14 + target: x86_64-apple-darwin + os: darwin + arch: x86_64 - platform: ubuntu-22.04 target: x86_64-unknown-linux-gnu os: linux arch: x86_64 + - platform: windows-latest + target: x86_64-pc-windows-msvc + os: windows + arch: x86_64 runs-on: ${{ matrix.platform }}