diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml new file mode 100644 index 00000000..e07fb0e8 --- /dev/null +++ b/.github/workflows/code-quality.yml @@ -0,0 +1,36 @@ +name: Code Quality + +on: + pull_request: + branches: [main] + +jobs: + code-quality: + name: Lint, Format, and Type Check + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Setup pnpm + uses: pnpm/action-setup@v2 + with: + version: 9.1.4 + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Run ESLint + run: pnpm run lint + + - name: Check Prettier formatting + run: pnpm run format -- --check + + - name: Run TypeScript type checking + run: pnpm run typecheck \ No newline at end of file diff --git a/.github/workflows/lint-and-format.yml b/.github/workflows/lint-and-format.yml new file mode 100644 index 00000000..0519ecba --- /dev/null +++ b/.github/workflows/lint-and-format.yml @@ -0,0 +1 @@ + \ No newline at end of file