fix(release): the blockers and hardening from the 1.8.0 review #405
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 | |
| # feat/ai-edition is a long-lived integration branch that PRs land on for | |
| # months at a time. Without it listed here, every one of those PRs merged with | |
| # no lint, no typecheck, no tests and no PR-title check. | |
| # | |
| # release/** is here for the same reason and it cost more: PRs #167, #168 and | |
| # #169 — 30k+ lines of deletion and refactor — merged into release/1.8.0 with | |
| # every one of those jobs skipped, because a release branch matched neither | |
| # pattern. A release branch is the LAST place to run a build unguarded. | |
| on: | |
| pull_request: | |
| branches: [main, feat/ai-edition, "release/**"] | |
| push: | |
| branches: [main, feat/ai-edition, "release/**"] | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/setup | |
| - run: npm run lint | |
| typecheck: | |
| name: Type Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/setup | |
| - run: npx tsc --noEmit | |
| typecheck-tests: | |
| name: Typecheck (tests, advisory) | |
| runs-on: ubuntu-latest | |
| # ADVISORY, NOT A GATE — 82 pre-existing errors as of this commit. The main | |
| # Typecheck job cannot see test files at all (tsconfig.json excludes | |
| # **/*.test.ts and includes only src + electron), and vitest transpiles | |
| # without checking, so fixture types have drifted from the schemas they | |
| # claim to build for years. This job makes the drift visible and stops it | |
| # growing silently; flip `continue-on-error` off once the count is zero. | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/setup | |
| - run: npx tsc -p tsconfig.test.json --noEmit | |
| docs: | |
| name: Docs | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| # No ./.github/actions/setup: check-docs.mjs imports only node builtins, | |
| # so npm ci would be a minute of install for nothing. Node 22 is here for | |
| # import.meta.dirname (needs >= 20.11). | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| - run: npm run docs:check | |
| test: | |
| name: Test | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/setup | |
| - run: npm run test | |
| - run: npm run test:browser:install | |
| - run: npm run test:browser | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ./.github/actions/setup | |
| - run: npx vite build | |
| semantic-pr: | |
| name: Validate PR title (semantic) | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'pull_request' | |
| steps: | |
| - uses: amannn/action-semantic-pull-request@v5 | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| with: | |
| types: | | |
| feat | |
| fix | |
| chore | |
| refactor | |
| perf | |
| docs | |
| test | |
| build | |
| ci | |
| style | |
| revert | |
| requireScope: false |