feat(cli): dispatch the three engines concurrently and merge their findings #484
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: CI | |
| on: | |
| push: | |
| branches: [main] | |
| # No `branches:` filter, deliberately. Lint, typecheck, and tests have no | |
| # interest in where a PR eventually merges, and filtering on `main` silently | |
| # skipped this workflow on stacked PRs. | |
| # | |
| # The filter matches the PR's base ref, but GitHub also resolves a stacked | |
| # PR's *eventual* target and matches on that — so `branches: [main]` did run | |
| # on PRs based on another branch, until it stopped. Measured on the | |
| # #71→#93→#94→#95→#100→#102→#103→#106 stack: every PR up to #102 got a | |
| # `Validate` run, while #103 and #106 got none, across 16 `pull_request` | |
| # events that other workflows handled fine. A filter that works for six PRs | |
| # and quietly fails on the seventh is worse than one that never worked, | |
| # because nobody re-checks it. | |
| # | |
| # `ready_for_review` is NOT in the default set (opened/synchronize/reopened) | |
| # and must be named: without it a draft marked ready gets no fresh run until | |
| # something happens to push again, which is exactly the state #103 sat in. | |
| pull_request: | |
| types: [opened, synchronize, reopened, ready_for_review] | |
| permissions: | |
| contents: read | |
| jobs: | |
| validate: | |
| name: Validate | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Setup Node | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Lint | |
| run: pnpm lint | |
| - name: Typecheck | |
| run: pnpm typecheck | |
| - name: Build | |
| run: pnpm build | |
| - name: Test | |
| run: pnpm test | |
| - name: Test workflow scripts | |
| run: node --test .github/scripts/*.test.cjs |