|
52 | 52 | # retired the macos-13 (last Intel) runner image. |
53 | 53 | - os: macos-latest |
54 | 54 | target: x86_64-apple-darwin |
55 | | - - os: windows-latest |
56 | | - target: x86_64-pc-windows-msvc |
| 55 | + # No Windows entry: Windows ships a single combined MSI (CLI + viewer) |
| 56 | + # from the `desktop` job below, not a standalone CLI archive. |
57 | 57 | steps: |
58 | 58 | - uses: actions/checkout@v4 |
59 | 59 |
|
@@ -159,6 +159,29 @@ jobs: |
159 | 159 | working-directory: app |
160 | 160 | run: npm ci |
161 | 161 |
|
| 162 | + # Windows ships ONE combined MSI: build the `clan` CLI and stage it as a |
| 163 | + # Tauri sidecar so the viewer installer also installs the CLI. The |
| 164 | + # Windows-only tauri.windows.conf.json picks it up via externalBin and a |
| 165 | + # WiX fragment (wix/cli-path.wxs) adds the install dir to the system PATH. |
| 166 | + - name: Stage CLI into viewer installer (Windows) |
| 167 | + if: matrix.os == 'windows-latest' |
| 168 | + shell: pwsh |
| 169 | + run: | |
| 170 | + cargo build -p clan-cli --release |
| 171 | + New-Item -ItemType Directory -Force -Path app/src-tauri/binaries | Out-Null |
| 172 | + Copy-Item target/release/clan.exe app/src-tauri/binaries/clan-x86_64-pc-windows-msvc.exe |
| 173 | +
|
| 174 | + # Linux .deb / .rpm install the `clan` CLI to /usr/bin (on PATH) alongside |
| 175 | + # the viewer. tauri.linux.conf.json maps binaries/clan -> /usr/bin/clan via |
| 176 | + # deb.files / rpm.files. The AppImage stays viewer-only (it can't place |
| 177 | + # files on the host PATH), so the standalone CLI tarball is kept above. |
| 178 | + - name: Stage CLI into Linux packages (Linux) |
| 179 | + if: matrix.os == 'ubuntu-latest' |
| 180 | + run: | |
| 181 | + cargo build -p clan-cli --release |
| 182 | + mkdir -p app/src-tauri/binaries |
| 183 | + cp target/release/clan app/src-tauri/binaries/clan |
| 184 | +
|
162 | 185 | - name: Build & publish desktop bundles |
163 | 186 | uses: tauri-apps/tauri-action@v0 |
164 | 187 | env: |
|
0 commit comments