name: CI on: push: branches: [main] pull_request: # A superseded run has nothing left to prove; stop it and free the runner. concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: quality: name: Lint, typecheck, tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: '22' cache: npm - run: npm ci - run: npx prisma generate - run: npm run lint - run: npm run typecheck - run: npm run coverage - run: npm run build