name: "Pre-commit consistency check" on: workflow_dispatch: pull_request: concurrency: group: ${{ github.head_ref }}-precommit cancel-in-progress: true jobs: pre-commit-check: name: Run pre-commit checks runs-on: ubuntu-20.04 steps: - uses: getsentry/action-github-app-token@v1 id: get-app-token with: app_id: ${{ secrets.K8S_AT_HOME_APP_ID }} private_key: ${{ secrets.K8S_AT_HOME_APP_PRIVATE_KEY }} - name: Checkout uses: actions/checkout@v2 with: token: ${{ steps.get-app-token.outputs.token }} fetch-depth: 0 - 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@v2.0.3 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 # CI Passed - name: "add label: ok" uses: actions-ecosystem/action-add-labels@v1 if: ${{ success() }} with: github_token: ${{ steps.get-app-token.outputs.token }} labels: "precommit:ok" - name: "remove label: failed" uses: actions-ecosystem/action-remove-labels@v1 if: ${{ success() }} with: github_token: ${{ steps.get-app-token.outputs.token }} labels: "precommit:failed" # CI Failed - name: "add label: failed" uses: actions-ecosystem/action-add-labels@v1 if: ${{ failure() }} with: github_token: ${{ steps.get-app-token.outputs.token }} labels: "precommit:failed" - name: "remove label: ok" uses: actions-ecosystem/action-remove-labels@v1 if: ${{ failure() }} with: github_token: ${{ steps.get-app-token.outputs.token }} labels: "precommit:ok"