mirror of
https://github.com/tofuutils/pre-commit-opentofu.git
synced 2025-10-15 17:38:54 +02:00
56 lines
2.3 KiB
YAML
56 lines
2.3 KiB
YAML
name: Common issues check
|
|
|
|
on: [pull_request]
|
|
|
|
jobs:
|
|
pre-commit:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- 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 "name=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@v2
|
|
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@v2
|
|
with:
|
|
python-version: '3.9'
|
|
- name: Execute pre-commit
|
|
uses: pre-commit/action@v2.0.0
|
|
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@v2.0.0
|
|
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 }}
|