Cut desktop version 0.1.1 so release tags match the merged Windows fixes #4
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Release Desktop | |
| on: | |
| push: | |
| tags: ['v*.*.*'] | |
| workflow_dispatch: | |
| inputs: | |
| draft: | |
| description: 'Create as draft release' | |
| required: false | |
| default: true | |
| type: boolean | |
| permissions: | |
| contents: write | |
| concurrency: | |
| group: release-desktop-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| # macOS Apple Silicon | |
| - platform: macos-latest | |
| rust_target: aarch64-apple-darwin | |
| tauri_args: '--target aarch64-apple-darwin' | |
| label: macOS-ARM64 | |
| # macOS Intel | |
| - platform: macos-latest | |
| rust_target: x86_64-apple-darwin | |
| tauri_args: '--target x86_64-apple-darwin' | |
| label: macOS-x64 | |
| # Linux x64 | |
| - platform: ubuntu-22.04 | |
| rust_target: x86_64-unknown-linux-gnu | |
| tauri_args: '--bundles deb' | |
| label: Linux-x64 | |
| # Linux ARM64 | |
| - platform: ubuntu-22.04-arm | |
| rust_target: aarch64-unknown-linux-gnu | |
| tauri_args: '--bundles deb' | |
| label: Linux-ARM64 | |
| # Windows x64 | |
| - platform: windows-latest | |
| rust_target: x86_64-pc-windows-msvc | |
| tauri_args: '' | |
| label: Windows-x64 | |
| runs-on: ${{ matrix.platform }} | |
| name: Build (${{ matrix.label }}) | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| # ── System dependencies (Linux) ────────────────────────── | |
| - name: Install Linux dependencies | |
| if: contains(matrix.platform, 'ubuntu') | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y \ | |
| build-essential \ | |
| curl \ | |
| wget \ | |
| file \ | |
| libxdo-dev \ | |
| libssl-dev \ | |
| libwebkit2gtk-4.1-dev \ | |
| libayatana-appindicator3-dev \ | |
| librsvg2-dev \ | |
| patchelf \ | |
| libfuse2 | |
| # ── Bun ────────────────────────────────────────────────── | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| # ── Node.js (for tauri-action compatibility) ───────────── | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 20 | |
| # ── Rust ───────────────────────────────────────────────── | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.rust_target }} | |
| - name: Rust cache | |
| uses: swatinem/rust-cache@v2 | |
| with: | |
| workspaces: 'desktop/src-tauri -> target' | |
| shared-key: ${{ matrix.rust_target }} | |
| # ── Install dependencies ───────────────────────────────── | |
| - name: Install root dependencies | |
| run: bun install | |
| - name: Install desktop dependencies | |
| working-directory: desktop | |
| run: bun install | |
| - name: Install adapter dependencies | |
| working-directory: adapters | |
| run: bun install | |
| # ── Build sidecars ─────────────────────────────────────── | |
| - name: Build sidecars | |
| working-directory: desktop | |
| env: | |
| TAURI_ENV_TARGET_TRIPLE: ${{ matrix.rust_target }} | |
| run: bun run build:sidecars | |
| # ── Build Tauri app ────────────────────────────────────── | |
| - name: Build Tauri app | |
| uses: tauri-apps/tauri-action@v0 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| projectPath: desktop | |
| tauriScript: bunx tauri | |
| tagName: v__VERSION__ | |
| releaseName: 'Claude Code Haha v__VERSION__' | |
| releaseBody: | | |
| ## Claude Code Haha v__VERSION__ | |
| ### Downloads | |
| | Platform | File | | |
| |----------|------| | |
| | macOS (Apple Silicon) | `.dmg` | | |
| | macOS (Intel) | `.dmg` | | |
| | Windows | `.exe` (NSIS installer) | | |
| | Linux | `.deb` | | |
| ### First-time installation | |
| **macOS**: This build is unsigned. If you see "app is damaged" or "unidentified developer", run: | |
| ```bash | |
| xattr -cr /Applications/Claude\ Code\ Haha.app | |
| ``` | |
| **Windows**: If SmartScreen blocks the app, click "More info" → "Run anyway". | |
| --- | |
| See [Installation Guide](https://github.com/NanmiCoder/cc-haha/blob/main/docs/desktop/04-installation.md) for details. | |
| releaseDraft: ${{ github.event_name == 'workflow_dispatch' && inputs.draft || false }} | |
| prerelease: false | |
| args: ${{ matrix.tauri_args }} --config src-tauri/tauri.release-ci.json |