55 push :
66 tags :
77 - " v*"
8+ workflow_dispatch :
9+ inputs :
10+ platform :
11+ description : " Platform to build (use 'all' to build all platforms)"
12+ required : false
13+ default : " ubuntu-24.04"
14+ type : choice
15+ options :
16+ - all
17+ - ubuntu-24.04
18+ - macos-latest
19+ - macos-15-intel
20+ - windows-latest
821
922jobs :
1023 publish-tauri :
1124 permissions :
1225 contents : write
26+ if : ${{ github.event_name == 'push' || inputs.platform == 'all' || inputs.platform == matrix.platform }}
1327 strategy :
1428 fail-fast : false
1529 matrix :
@@ -27,10 +41,14 @@ jobs:
2741 steps :
2842 - uses : actions/checkout@v4
2943
30- - name : setup node
31- uses : actions/setup-node@v4
44+ - name : Setup pnpm
45+ uses : pnpm/action-setup@v4.2.0
46+
47+ - name : Setup Node.js
48+ uses : actions/setup-node@v6
3249 with :
33- node-version : lts/*
50+ node-version-file : .node-version
51+ cache : ' pnpm'
3452
3553 - name : install Rust stable
3654 uses : dtolnay/rust-toolchain@stable
@@ -40,23 +58,40 @@ jobs:
4058
4159 - name : install dependencies (ubuntu only)
4260 if : matrix.platform == 'ubuntu-24.04'
43- # You can remove libayatana-appindicator3-dev if you don't use the system tray feature.
4461 run : |
4562 sudo apt-get update
46- sudo apt-get install -y libwebkit2gtk-4.1-dev libsoup-3.0-dev build-essential curl wget file libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev libfuse2
63+ sudo apt-get install -y \
64+ build-essential \
65+ curl \
66+ wget \
67+ file \
68+ libssl-dev \
69+ libgtk-3-dev \
70+ libayatana-appindicator3-dev \
71+ librsvg2-dev \
72+ libfuse2 \
73+ libsoup-3.0-dev \
74+ libwebkit2gtk-4.1-dev \
75+ patchelf \
76+ xdg-utils \
77+ gstreamer1.0-plugins-base \
78+ gstreamer1.0-plugins-bad \
79+ fonts-noto-color-emoji \
80+ pkg-config \
81+ unzip
4782
4883 - name : install frontend dependencies
49- run : npm install
84+ run : pnpm install --frozen-lockfile
5085
5186 - name : Cache Rust dependencies
52- uses : swatinem/rust-cache@v2
87+ uses : swatinem/rust-cache@v2.8.2
5388 with :
5489 workspaces : src-tauri
5590
5691 - uses : tauri-apps/tauri-action@v0.6.1
5792 env :
5893 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
59- TAURI_BUNDLER_NEW_APPIMAGE_FORMAT : ${{ runner.os == 'Linux ' && 'true' || '' }}
94+ TAURI_BUNDLER_NEW_APPIMAGE_FORMAT : ${{ matrix.platform == 'ubuntu-24.04 ' && 'true' || '' }}
6095 TAURI_SIGNING_PRIVATE_KEY : ${{ secrets.TAURI_PRIVATE_KEY }}
6196 TAURI_SIGNING_PRIVATE_KEY_PASSWORD : ${{ secrets.TAURI_KEY_PASSWORD }}
6297 with :
65100 releaseBody : " See the assets to download this version and install."
66101 releaseDraft : true
67102 prerelease : false
68- tauriScript : " npm tauri"
103+ tauriScript : " pnpm tauri"
69104 args : ${{ matrix.args }}
0 commit comments