name: Harness on: workflow_dispatch: pull_request: branches: - main paths: - 'harness/**' - 'tests/unit/harness-specs.test.ts' - 'package.json' - 'pnpm-lock.yaml' - 'pnpm-workspace.yaml' - '.github/workflows/harness.yml' jobs: harness: runs-on: ubuntu-latest env: ELECTRON_SKIP_BINARY_DOWNLOAD: '1' steps: - name: Checkout code uses: actions/checkout@v6 with: fetch-depth: 0 - name: Setup pnpm uses: pnpm/action-setup@v4 - name: Setup Node.js uses: actions/setup-node@v6 with: node-version: '24' cache: 'pnpm' - name: Prefer HTTPS for public GitHub git dependencies run: | git config --global "url.https://github.com/.insteadOf" "git@github.com:" git config --global --add "url.https://github.com/.insteadOf" "ssh://git@github.com/" - name: Install dependencies run: pnpm install --frozen-lockfile - name: Run harness CI checks run: pnpm run harness:ci - name: Upload harness artifacts if: always() uses: actions/upload-artifact@v4 with: name: harness-artifacts path: artifacts/harness if-no-files-found: warn retention-days: 7