name: PR Quality on: pull_request: types: [opened, synchronize, reopened, ready_for_review] branches: [main, develop] concurrency: group: pr-quality-${{ github.ref }} cancel-in-progress: true jobs: quality: name: Lint, Typecheck, Test, Build runs-on: ubuntu-latest if: github.event.pull_request.draft == false steps: - name: Checkout uses: actions/checkout@v4 - name: Setup pnpm uses: pnpm/action-setup@v4 with: version: 9.15.2 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: pnpm - name: Install dependencies run: pnpm install --frozen-lockfile - name: Lint run: pnpm run lint - name: Typecheck run: pnpm run typecheck - name: Test run: pnpm run test - name: Build run: pnpm run build