GitHub Action automatically formatting all HCL and TF files (.hcl, .tf, .tfvars).
Dockerized as devopsinfra/action-format-hcl.
Features:
- Container is a stripped down image of my other creation - devopsinfra/docker-terragrunt - framework for managing Infrastructure-as-a-Code.
- Main use will be everywhere where Terraform or Terragrunt is used.
- Using combination of my wrapper for cytopia's docker-terragrunt-fmt.
- name: Fail on malformatted files
uses: devops-infra/action-format-hcl@v0.3.6
with:
list: false
write: true
ignore: "config"
diff: false
check: false
recursive: true
dir: "modules"
Input Variable | Required | Default | Description |
---|---|---|---|
list | No | false |
List files containing formatting inconsistencies. |
write | No | true |
Overwrite input files. Disabled if using check. |
ignore | No | "" |
Comma separated list of paths to ignore. Only for .hcl files. |
diff | No | false |
Display diffs of formatting changes. |
check | No | false |
Check if files are malformatted. |
recursive | No | true |
Also process files in subdirectories. |
dir | No | "" |
Path to be checked. Current dir as default. |
Action can fail if malformed files will be found.
name: Check HCL
on:
push
jobs:
format-hcl:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Fail on malformatted files
uses: devops-infra/action-format-hcl@v0.3.6
with:
check: true
Action can automatically format all HCL files and commit updated files back to the repository using my other action action-commit-push.
name: Format HCL
on:
push
jobs:
format-hcl:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Format HCL files
uses: devops-infra/action-format-hcl@v0.3.6
- name: Commit changes to repo
uses: devops-infra/action-commit-push@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
commit_prefix: "[AUTO-FORMAT-HCL]"