diff --git a/.github/workflows/pre-commit-check.yaml b/.github/workflows/pre-commit-check.yaml index dd588b06..4c3cf88a 100644 --- a/.github/workflows/pre-commit-check.yaml +++ b/.github/workflows/pre-commit-check.yaml @@ -1,50 +1,61 @@ -name: Pre-commit consistency check - -on: - workflow_dispatch: - pull_request: - types: [labeled, opened, reopened, synchronize] - push: - branches: [spigot, re-recode] - -concurrency: - group: ${{ github.head_ref }}-precommit - cancel-in-progress: true - -jobs: - pre-commit-check: - if: github.event.action != 'labeled' || github.event.label.name == 'pre-commit ci run' - name: Run pre-commit checks - runs-on: ubuntu-20.04 - steps: - - name: Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - run: gh pr edit ${{ github.event.number }} --remove-label 'pre-commit ci run' - if: github.event.action == 'labeled' && github.event.label.name == 'pre-commit ci run' - env: - GH_TOKEN: ${{ github.token }} - - uses: dorny/paths-filter@v2 - id: filter - with: - list-files: shell - filters: | - addedOrModified: - - added|modified: '**' - - # run only if changed files were detected - - name: Run against changes - uses: pre-commit/action@v3.0.1 - if: steps.filter.outputs.addedOrModified == 'true' - with: - extra_args: --files ${{ steps.filter.outputs.addedOrModified_files }} - - # run if no changed files were detected (e.g. workflow_dispatch on master branch) - - name: Run against all files - uses: pre-commit/action@v2.0.3 - if: steps.filter.outputs.addedOrModified != 'true' - with: - extra_args: --all-files - - uses: pre-commit-ci/lite-action@v1.0.2 - if: always() +name: Pre-commit consistency check + +on: + workflow_dispatch: + pull_request: + types: [labeled, opened, reopened, synchronize] + push: + branches: [spigot, re-recode] + +concurrency: + group: ${{ github.head_ref }}-precommit + cancel-in-progress: true + +jobs: + pre-commit-check: + if: github.event.action != 'labeled' || github.event.label.name == 'pre-commit ci run' + name: Run pre-commit checks + runs-on: ubuntu-20.04 + steps: + - name: Checkout + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - run: gh pr edit ${{ github.event.number }} --remove-label 'pre-commit ci run' + if: github.event.action == 'labeled' && github.event.label.name == 'pre-commit ci run' + env: + GH_TOKEN: ${{ github.token }} + - uses: dorny/paths-filter@v2 + id: filter + with: + list-files: shell + filters: | + addedOrModified: + - added|modified: '**' + + # run only if changed files were detected + - name: Run against changes + uses: pre-commit/action@v3.0.1 + if: steps.filter.outputs.addedOrModified == 'true' + with: + extra_args: --files ${{ steps.filter.outputs.addedOrModified_files }} + + # run if no changed files were detected (e.g. workflow_dispatch on master branch) + - name: Run against all files + uses: pre-commit/action@v2.0.3 + if: steps.filter.outputs.addedOrModified != 'true' + with: + extra_args: --all-files + - uses: pre-commit-ci/lite-action@v1.0.2 + if: always() + + - name: Commit pre-commit changes + if: github.event.action != 'pull_request' + run: | + git config --global user.name "github-actions[bot]" + git config --global user.email "github-actions[bot]@users.noreply.github.com" + git add . + git commit -m "chore: pre-commit changes" || echo "No changes to commit" + git push + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}