name: Release on: push: tags: - "v*" permissions: contents: write jobs: release: strategy: fail-fast: false matrix: include: - platform: macos-latest args: --target aarch64-apple-darwin rust-target: aarch64-apple-darwin - platform: macos-13 args: --target x86_64-apple-darwin rust-target: x86_64-apple-darwin - platform: windows-latest args: "" rust-target: "" - platform: ubuntu-22.04 args: "" rust-target: "" runs-on: ${{ matrix.platform }} steps: - uses: actions/checkout@v4 - name: Install Linux dependencies if: matrix.platform == 'ubuntu-22.04' run: | sudo apt-get update sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev - uses: dtolnay/rust-toolchain@stable with: targets: ${{ matrix.rust-target }} - uses: Swatinem/rust-cache@v2 with: workspaces: src-tauri - uses: actions/setup-node@v4 with: node-version: 22 cache: npm - name: Install frontend dependencies run: npm ci - name: Build and release uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tagName: ${{ github.ref_name }} releaseName: "Tusk ${{ github.ref_name }}" releaseBody: "See the assets below to download Tusk for your platform." releaseDraft: true prerelease: false args: ${{ matrix.args }}