name: macOS checks on: push: branches: [main] paths: ["native/**", ".github/**", "package.json", "pnpm-lock.yaml", "eslint.config.mjs", "resources/css/app.css"] pull_request: paths: ["native/**", ".github/**", "package.json", "pnpm-lock.yaml", "eslint.config.mjs", "resources/css/app.css"] workflow_dispatch: permissions: contents: read jobs: macos: name: Native Rust tests and unsigned build runs-on: ${{ vars.MACOS_CHECK_RUNNER || vars.MACOS_RUNNER || 'macos-arm64' }} timeout-minutes: 45 steps: - name: Check out repository uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 with: persist-credentials: false - name: Setup pnpm uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v11.7.0 with: package-json-file: package.json - name: Setup Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 with: node-version: 22 - name: Setup Rust uses: dtolnay/rust-toolchain@02cb101ec7c40f2c49e1d9714d64511d8e1b74de with: toolchain: 1.98.1 components: rustfmt, clippy - name: Install locked native dependencies run: pnpm --dir native install --frozen-lockfile - name: Run native tests run: pnpm --dir native test - name: Check Rust formatting and warnings run: pnpm --dir native check - name: Build unsigned macOS app without release credentials uses: tauri-apps/tauri-action@1deb371b0cd8bd54025b384f1cd735e725c4060f # v1.0.0 with: projectPath: native tauriScript: pnpm exec tauri args: --ci --debug --no-sign --bundles app -- --locked uploadUpdaterJson: false uploadUpdaterSignatures: false uploadWorkflowArtifacts: false