name: Desktop Packaging on: workflow_dispatch: push: tags: - "v*" pull_request: jobs: bundle: name: Bundle (${{ matrix.name }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - name: Linux os: ubuntu-22.04 package_script: package:linux artifact_name: dusk-linux-bundles - name: macOS os: macos-latest package_script: package:macos artifact_name: dusk-macos-bundles - name: Windows os: windows-latest package_script: package:windows artifact_name: dusk-windows-bundles steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Bun uses: oven-sh/setup-bun@v2 with: bun-version: latest - name: Setup Rust uses: dtolnay/rust-toolchain@stable - name: Install Linux system dependencies if: runner.os == 'Linux' run: | sudo apt-get update sudo apt-get install -y \ libwebkit2gtk-4.1-dev \ build-essential \ curl \ wget \ file \ libxdo-dev \ libssl-dev \ libayatana-appindicator3-dev \ librsvg2-dev - name: Install frontend dependencies run: bun install --frozen-lockfile - name: Build Tauri bundles run: bun run ${{ matrix.package_script }} - name: Upload bundle artifacts uses: actions/upload-artifact@v4 with: name: ${{ matrix.artifact_name }} if-no-files-found: error path: src-tauri/target/release/bundle/**