release: v1.0.7 #12
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 | |
| on: | |
| push: | |
| tags: | |
| - "v*.*.*" | |
| jobs: | |
| build: | |
| permissions: | |
| contents: write | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-22.04 | |
| target: x86_64-unknown-linux-gnu | |
| - os: windows-2022 | |
| target: x86_64-pc-windows-msvc | |
| - os: macos-14 | |
| target: aarch64-apple-darwin | |
| # macos-13 (Intel) was dropped — those runners are scarce on | |
| # GitHub-hosted and frequently queue for hours. Intel Mac users | |
| # can run the Apple Silicon build via Rosetta 2. | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Linux build deps | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libudev-dev pkg-config \ | |
| libwebkit2gtk-4.1-dev libgtk-3-dev libsoup-3.0-dev \ | |
| libayatana-appindicator3-dev librsvg2-dev libi2c-dev | |
| - uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: ${{ matrix.target }} | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| cache: "npm" | |
| cache-dependency-path: app/package-lock.json | |
| - name: Tauri CLI | |
| run: cargo install tauri-cli --version "^2.0" --locked | |
| - name: Frontend install | |
| working-directory: app | |
| run: npm ci | |
| # Build unsigned. We don't currently maintain Apple Developer or | |
| # Authenticode certificates — installers carry SmartScreen / Gatekeeper | |
| # warnings on first run. Once certificates are added as repository | |
| # secrets, re-introduce a signed-build step gated on their presence. | |
| - name: Tauri build | |
| working-directory: app/src-tauri | |
| # --features custom-protocol enables the app feature explicitly so the | |
| # frontend is embedded (otherwise the webview loads the Vite dev server). | |
| run: cargo tauri build --features custom-protocol --target ${{ matrix.target }} | |
| - name: Collect release artifacts | |
| shell: bash | |
| run: | | |
| mkdir -p release-artifacts | |
| cp -R target/${{ matrix.target }}/release/bundle/*/. release-artifacts/ || true | |
| ls -la release-artifacts | |
| - uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| release-artifacts/*.dmg | |
| release-artifacts/*.app.tar.gz | |
| release-artifacts/*.deb | |
| release-artifacts/*.rpm | |
| release-artifacts/*.AppImage | |
| release-artifacts/*.msi | |
| release-artifacts/*.exe | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |