Skip to content

Commit d8fe74d

Browse files
committed
ci(release-workflow): add manual platform builds and switch to pnpm
1 parent a25d46c commit d8fe74d

1 file changed

Lines changed: 44 additions & 9 deletions

File tree

.github/workflows/release.yml

Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,25 @@ on:
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

922
jobs:
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:
@@ -65,5 +100,5 @@ jobs:
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

Comments
 (0)