ci(release): version packages (#59) #228
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] | |
| pull_request: | |
| branches: [main] | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Install pnpm | |
| uses: pnpm/action-setup@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v7 | |
| with: | |
| node-version: 22 | |
| cache: "pnpm" | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Lint | |
| run: pnpm lint | |
| - name: Format | |
| run: pnpm format:check | |
| - name: Build | |
| run: pnpm build | |
| - name: Check audit-dossier linkage | |
| run: pnpm check:dossiers | |
| - name: Check audit-evidence requirements | |
| run: pnpm check:requires | |
| - name: Check audit map agreement | |
| run: pnpm check:audit-map | |
| - name: Typecheck | |
| run: pnpm typecheck | |
| - name: Test | |
| run: pnpm test | |
| # The nightly corpus job runs on a schedule, so nothing else in CI ever | |
| # loads its script — and `scripts/` is outside every package tsconfig, so | |
| # `pnpm typecheck` does not read it either. `--limit=0` is the wiring | |
| # path: it parses flags, reads the site list, builds the window and writes | |
| # an empty summary, and it makes no network request. It costs a few | |
| # seconds and it means the first execution of that file is not the merge. | |
| - name: Smoke-test the corpus nightly script | |
| run: node --import tsx scripts/scan-site-list.ts --limit=0 | |
| - name: Smoke-test the live test runner | |
| run: pnpm test:live --limit=0 |