name: 'ESLint && Prettier' on: push: branches: - main pull_request: branches: - main workflow_dispatch: permissions: contents: write jobs: lint: runs-on: ubuntu-latest name: Lint steps: - name: Checkout uses: actions/checkout@v4 with: token: ${{ secrets.PAT || github.token }} - name: Setup pnpm uses: pnpm/action-setup@v3 with: version: 10 - name: Get pnpm store directory id: pnpm-cache run: echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT - name: Setup pnpm cache uses: actions/cache@v4 with: path: ${{ steps.pnpm-cache.outputs.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('./pnpm-lock.yaml') }} restore-keys: ${{ runner.os }}-pnpm-store- - name: Install dependencies run: pnpm install - name: Lint Check continue-on-error: true id: check run: pnpm run lint:check - name: Format manually id: format if: ${{ steps.check.outcome == 'failure' }} run: pnpm run lint - name: Commit if: ${{ steps.format.outcome == 'success' }} uses: stefanzweifel/git-auto-commit-action@v5 with: commit_message: 'ci: format code [skip ci]'