Design about page #32
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
| # CI for the Lineage 2 API. | |
| # | |
| # The generated dataset (`data/generated/interlude/*.json`) is | |
| # committed to the repo as the source-of-truth artefact the API | |
| # serves. CI therefore runs the full check matrix on every PR: | |
| # lint, typecheck (runtime + build-time parsers), unit tests + | |
| # snapshots, OpenAPI drift gate, and the Next.js build. | |
| # | |
| # `pnpm build:data` does NOT run in CI: it requires a local aCis | |
| # datapack and (optionally) L2 client DAT files, neither of which | |
| # is vendored or available as a CI secret. PR authors regenerate | |
| # the JSON locally, commit the diff, and reviewers see the dataset | |
| # changes alongside the parser changes. | |
| name: CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| jobs: | |
| validate: | |
| name: Typecheck + tests + build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Set up pnpm | |
| uses: pnpm/action-setup@v4 | |
| with: | |
| version: 10 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 22 | |
| cache: pnpm | |
| - name: Install dependencies | |
| run: pnpm install --frozen-lockfile | |
| - name: Typecheck (runtime + tests) | |
| run: pnpm typecheck | |
| - name: Typecheck (build-time parsers) | |
| run: pnpm typecheck:scripts | |
| - name: Lint | |
| run: pnpm lint | |
| - name: Unit tests + snapshots | |
| run: pnpm test | |
| - name: OpenAPI drift gate | |
| # Regenerates the stub from the Zod schemas and fails if it | |
| # differs from the committed artefact at | |
| # `docs/openapi.stub.json`. Forces every DTO change to land | |
| # together with its spec update. | |
| run: | | |
| pnpm openapi | |
| git diff --exit-code docs/openapi.stub.json | |
| - name: Next.js build | |
| run: pnpm build |