Pattern: a kind declares its layout, not just its frontmatter #5
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: | |
| push: | |
| branches: [main] | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| validate: | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: site | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 24 | |
| cache: npm | |
| cache-dependency-path: site/package-lock.json | |
| - run: npm ci | |
| - run: npm run typecheck | |
| # Every [[Target]] must resolve. `build` runs this too, via prebuild — running it first | |
| # means a broken link reports as a broken link rather than as a failed build. | |
| - run: npm run check:links | |
| # `build` is what deploy.yml runs on main; running it here fails the PR, not deploy. | |
| - run: npm run build |