diff --git a/.github/workflows/lint-prettier.yml b/.github/workflows/lint-prettier.yml new file mode 100644 index 00000000..41c74611 --- /dev/null +++ b/.github/workflows/lint-prettier.yml @@ -0,0 +1,53 @@ +name: Lint & Prettier +on: + pull_request: + branches: [main, dev] +jobs: + lint: + runs-on: ubuntu-latest + permissions: + pull-requests: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: '24' + + - name: Install dependencies + run: npm install + + - name: Run lint & format check + id: checks + continue-on-error: true + run: | + cd shared + npm run lint + npm run format:check + + - name: Comment on PR if checks failed + if: steps.checks.outcome == 'failure' + uses: actions/github-script@v7 + with: + script: | + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + body: [ + '## ❌ Lint & Prettier check failed', + '', + 'Please fix the issues locally by running the following commands inside the `shared` package:', + '', + '```bash', + 'cd shared', + 'npm run lint', + 'npm run format', + '```', + '', + 'Then commit and push the changes.', + ].join('\n'), + }); + + - name: Fail the job if checks failed + if: steps.checks.outcome == 'failure' + run: exit 1 \ No newline at end of file