name: ci
on:
  push:
  pull_request:

jobs:
  lint-test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22
      - name: Install
        run: npm ci
      # The Prisma client is generated into src/generated/prisma, which is
      # gitignored — so a fresh checkout has no client and every test that
      # reaches src/lib/db.ts dies on "Cannot find package
      # '@/generated/prisma/client'". Schema-only, so it needs no database.
      # Without this the pipeline had been red on every run since at least
      # ae0c34f, which is how the failure stayed invisible: it looked like
      # the normal colour.
      - name: Generate Prisma client
        run: npx prisma generate
      # Advisory until the pre-existing lint debt is cleared (2026-07-19:
      # ~20 errors across budget/insights/shared pages) — then make blocking.
      - name: Lint (advisory)
        run: npm run lint
        continue-on-error: true
      - name: Unit tests
        run: npm test
