@@ -9,7 +9,7 @@ permissions:
99 contents : write
1010
1111jobs :
12- build :
12+ build-cli :
1313 strategy :
1414 matrix :
1515 include :
6868 name : ${{ matrix.artifact }}
6969 path : ${{ matrix.artifact }}${{ runner.os == 'Windows' && '.exe' || '' }}
7070
71+ build-desktop :
72+ strategy :
73+ matrix :
74+ include :
75+ - os : macos-latest
76+ target : aarch64-apple-darwin
77+ artifact : ralph-desktop-macos-arm64
78+ - os : macos-latest
79+ target : x86_64-apple-darwin
80+ artifact : ralph-desktop-macos-x86_64
81+ - os : windows-latest
82+ target : x86_64-pc-windows-msvc
83+ artifact : ralph-desktop-windows-x86_64
84+ - os : ubuntu-latest
85+ target : x86_64-unknown-linux-gnu
86+ artifact : ralph-desktop-linux-x86_64
87+
88+ runs-on : ${{ matrix.os }}
89+
90+ steps :
91+ - uses : actions/checkout@v4
92+
93+ - name : Install Rust toolchain
94+ uses : dtolnay/rust-toolchain@stable
95+ with :
96+ targets : ${{ matrix.target }}
97+
98+ - name : Install Node.js
99+ uses : actions/setup-node@v4
100+ with :
101+ node-version : 22
102+
103+ - name : Install frontend dependencies
104+ run : npm ci
105+
106+ - name : Install Linux dependencies
107+ if : runner.os == 'Linux'
108+ run : |
109+ sudo apt-get update
110+ sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
111+
112+ - name : Build Tauri app
113+ uses : tauri-apps/tauri-action@v0
114+ with :
115+ args : --target ${{ matrix.target }}
116+
117+ - name : Upload macOS artifact (.dmg)
118+ if : runner.os == 'macOS'
119+ uses : actions/upload-artifact@v4
120+ with :
121+ name : ${{ matrix.artifact }}
122+ path : src-tauri/target/${{ matrix.target }}/release/bundle/dmg/*.dmg
123+
124+ - name : Upload Windows artifact (.msi)
125+ if : runner.os == 'Windows'
126+ uses : actions/upload-artifact@v4
127+ with :
128+ name : ${{ matrix.artifact }}
129+ path : src-tauri/target/${{ matrix.target }}/release/bundle/msi/*.msi
130+
131+ - name : Upload Linux artifact (.deb + .AppImage)
132+ if : runner.os == 'Linux'
133+ uses : actions/upload-artifact@v4
134+ with :
135+ name : ${{ matrix.artifact }}
136+ path : |
137+ src-tauri/target/${{ matrix.target }}/release/bundle/deb/*.deb
138+ src-tauri/target/${{ matrix.target }}/release/bundle/appimage/*.AppImage
139+
71140 release :
72- needs : build
141+ needs : [ build-cli, build-desktop]
73142 runs-on : ubuntu-latest
74143
75144 steps :
@@ -87,4 +156,10 @@ jobs:
87156 with :
88157 name : v${{ steps.version.outputs.version }}
89158 generate_release_notes : true
159+ body : |
160+ ## macOS CLI notice
161+ macOS may block the CLI binary with a Gatekeeper warning. To fix, run:
162+ ```
163+ xattr -d com.apple.quarantine <path-to-binary>
164+ ```
90165 files : artifacts/**/*
0 commit comments