Release #7
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 | |
| on: | |
| workflow_dispatch: | |
| push: | |
| tags: | |
| - 'v*' | |
| jobs: | |
| release: | |
| permissions: | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - platform: 'macos-latest' | |
| args: '--target aarch64-apple-darwin' | |
| python-version: '3.12' | |
| - platform: 'macos-15-intel' | |
| args: '--target x86_64-apple-darwin' | |
| python-version: '3.12' | |
| - platform: 'ubuntu-22.04' | |
| args: '' | |
| python-version: '3.12' | |
| - platform: 'windows-latest' | |
| args: '' | |
| python-version: '3.12' | |
| runs-on: ${{ matrix.platform }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install dependencies (ubuntu only) | |
| if: matrix.platform == 'ubuntu-22.04' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| cache: 'pip' | |
| - name: Install Python dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install pyinstaller | |
| pip install -r backend/requirements.txt | |
| - name: Build Python server (Linux/macOS) | |
| if: matrix.platform != 'windows-latest' | |
| run: | | |
| chmod +x scripts/build-server.sh | |
| ./scripts/build-server.sh | |
| - name: Build Python server (Windows) | |
| if: matrix.platform == 'windows-latest' | |
| shell: bash | |
| run: | | |
| cd backend | |
| python build_binary.py | |
| # Get platform tuple | |
| PLATFORM=$(rustc --print host-tuple) | |
| # Create binaries directory | |
| mkdir -p ../tauri/src-tauri/binaries | |
| # Copy with platform suffix | |
| cp dist/voicebox-server.exe ../tauri/src-tauri/binaries/voicebox-server-${PLATFORM}.exe | |
| echo "Built voicebox-server-${PLATFORM}.exe" | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| - name: Install Rust stable | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ (matrix.platform == 'macos-latest' && 'aarch64-apple-darwin') || (matrix.platform == 'macos-15-intel' && 'x86_64-apple-darwin') || '' }} | |
| - name: Rust cache | |
| uses: swatinem/rust-cache@v2 | |
| with: | |
| workspaces: './tauri/src-tauri -> target' | |
| - name: Install dependencies | |
| run: bun install | |
| - uses: tauri-apps/tauri-action@v0 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| projectPath: tauri | |
| tagName: v__VERSION__ | |
| releaseName: 'voicebox v__VERSION__' | |
| releaseBody: | | |
| ## What's Changed | |
| See the assets below to download and install this version. | |
| ### Installation | |
| - **macOS**: Download the `.dmg` file | |
| - **Windows**: Download the `.msi` installer | |
| - **Linux**: Download the `.AppImage` or `.deb` package | |
| releaseDraft: true | |
| prerelease: false | |
| args: ${{ matrix.args }} |