name: Code Quality Checks on: pull_request: types: [opened, synchronize, reopened, edited] concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: lint-and-format: name: Run ESLint and Prettier runs-on: ubuntu-latest steps: - name: Checkout source code uses: actions/checkout@v4 - name: Use Node.js uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: "npm" - name: Install dependencies run: npm ci - name: Run ESLint run: npm run lint - name: Run Prettier run: npm run prettier - name: Check for uncommitted changes run: | git diff --exit-code || \ (echo "Detected uncommitted changes after build. See status below:" && \ git diff && \ exit 1)