name: Common issues check on: [pull_request] jobs: pre-commit: runs-on: ubuntu-latest steps: - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 - run: | git fetch --no-tags --prune --depth=1 origin +refs/heads/*:refs/remotes/origin/* - name: Get changed files id: file_changes run: | export DIFF=$(git diff --name-only origin/${{ github.base_ref }} ${{ github.sha }}) echo "Diff between ${{ github.base_ref }} and ${{ github.sha }}" echo "files=$( echo "$DIFF" | xargs echo )" >> $GITHUB_OUTPUT - name: Install shfmt run: | curl -L "$(curl -s https://api.github.com/repos/mvdan/sh/releases/latest | grep -o -E -m 1 "https://.+?linux_amd64")" > shfmt \ && chmod +x shfmt && sudo mv shfmt /usr/bin/ - name: Install shellcheck run: | sudo apt update && sudo apt install shellcheck - name: Install hadolint run: | curl -L "$(curl -s https://api.github.com/repos/hadolint/hadolint/releases/latest | grep -o -E -m 1 "https://.+?/hadolint-Linux-x86_64")" > hadolint \ && chmod +x hadolint && sudo mv hadolint /usr/bin/ # Need to success pre-commit fix push - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 with: fetch-depth: 0 ref: ${{ github.event.pull_request.head.sha }} # Skip terraform_tflint which interferes to commit pre-commit auto-fixes - uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0 with: python-version: '3.9' - name: Execute pre-commit uses: pre-commit/action@9b88afc9cd57fd75b655d5c71bd38146d07135fe # v2.0.3 env: SKIP: no-commit-to-branch,hadolint with: token: ${{ secrets.GITHUB_TOKEN }} extra_args: --color=always --show-diff-on-failure --files ${{ steps.file_changes.outputs.files }} # Run only skipped checks - name: Execute pre-commit check that have no auto-fixes if: always() uses: pre-commit/action@9b88afc9cd57fd75b655d5c71bd38146d07135fe # v2.0.3 env: SKIP: check-added-large-files,check-merge-conflict,check-vcs-permalinks,forbid-new-submodules,no-commit-to-branch,end-of-file-fixer,trailing-whitespace,check-yaml,check-merge-conflict,check-executables-have-shebangs,check-case-conflict,mixed-line-ending,detect-aws-credentials,detect-private-key,shfmt,shellcheck with: extra_args: --color=always --show-diff-on-failure --files ${{ steps.file_changes.outputs.files }}