name: Development Test on: workflow_dispatch: permissions: write-all env: CARGO_INCREMENTAL: 0 RUST_BACKTRACE: short concurrency: # only allow per workflow per commit (and not pr) to run at a time group: "${{ github.workflow }} - ${{ github.head_ref || github.ref }}" cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: dev: strategy: fail-fast: false matrix: include: - os: windows-latest target: x86_64-pc-windows-msvc bundle: nsis - os: macos-latest target: aarch64-apple-darwin bundle: dmg - os: macos-latest target: x86_64-apple-darwin bundle: dmg runs-on: ${{ matrix.os }} steps: - name: Checkout Repository uses: actions/checkout@v4 - name: Install Rust Stable uses: dtolnay/rust-toolchain@1.77.0 - name: Add Rust Target run: rustup target add ${{ matrix.target }} - name: Rust Cache uses: Swatinem/rust-cache@v2 with: workspaces: src-tauri cache-all-crates: true cache-on-failure: true - name: Install Node uses: actions/setup-node@v4 with: node-version: "20" - uses: pnpm/action-setup@v4 name: Install pnpm with: run_install: false - name: Pnpm install and check run: | pnpm i pnpm check ${{ matrix.target }} - name: Tauri build uses: tauri-apps/tauri-action@v0 env: NODE_OPTIONS: "--max_old_space_size=4096" GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tauriScript: pnpm args: --target ${{ matrix.target }} -b ${{ matrix.bundle }} - name: Upload Artifacts if: matrix.os == 'macos-latest' uses: actions/upload-artifact@v4 with: name: ${{ matrix.target }} path: src-tauri/target/${{ matrix.target }}/release/bundle/dmg/*.dmg if-no-files-found: error - name: Upload Artifacts if: matrix.os == 'windows-latest' uses: actions/upload-artifact@v4 with: name: ${{ matrix.target }} path: src-tauri/target/${{ matrix.target }}/release/bundle/nsis/*.exe if-no-files-found: error