Repository navigation
fix(visual): stop a fractional capture box flipping the baseline by a pixel #408
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: | |
| pull_request: | |
| branches: [release] | |
| permissions: | |
| contents: read | |
| jobs: | |
| checks: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10.18.3 | |
| - name: Install dependencies | |
| run: pnpm install | |
| - name: Lint (prettier, eslint, event-casing) | |
| run: pnpm lint | |
| - name: Type-check | |
| run: pnpm check | |
| - name: Unit tests (vitest) | |
| run: pnpm run test:unit -- --run | |
| - name: Install Playwright browsers | |
| run: pnpm exec playwright install --with-deps chromium | |
| # A merge gate as of this commit. History, so the next reader doesn't have | |
| # to reconstruct it: this step was advisory because every run of the job | |
| # failed every spec with "browserType.launch: Executable doesn't exist" -- | |
| # the browser-install step above simply didn't exist. The "~130 failing | |
| # specs" that justified continue-on-error was therefore never a regression | |
| # count; it was an artifact of a missing binary. Once the install landed | |
| # the suite went green, which is what made a real gate possible. | |
| # | |
| # An earlier draft of this comment claimed a specific run of consecutive | |
| # green builds as the justification. That claim was withdrawn: the very | |
| # first run with the gate enabled caught a genuinely failing spec, so the | |
| # number was wrong, and it had been read from the step's `conclusion` -- | |
| # which continue-on-error rewrites to success. `outcome` is the field | |
| # that survives it. The gate stands on the suite passing now, checked | |
| # per-run by this step, rather than on a tally nobody can re-derive. | |
| - name: Integration tests (playwright) | |
| run: pnpm run test:integration | |
| - name: Upload Playwright report | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: playwright-report | |
| path: playwright-report/ | |
| retention-days: 14 |