name: QA
on: [pull_request]
jobs:
  build:
    runs-on: ubuntu-22.04
    steps:
      - uses: actions/checkout@v4
      - name: Setup PNPM
        uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0
        with:
          run_install: false
      - uses: actions/setup-node@v4
        with:
          node-version-file: ".nvmrc"
          cache: "pnpm"
      - name: Install dependencies
        run: pnpm install --frozen-lockfile
      - name: Lint
        run: pnpm lint
      - name: Check types
        run: pnpm check-types
      - name: Check for changes in generated files
        run: |
          pnpm generate
          git diff --name-status --exit-code .
      - name: Test
        run: pnpm test
      - name: Build project
        run: pnpm build
