GitHub Action that will run TFlint on Terraform files.
Dockerized as devopsinfra/action-tflint.
Uses the newest version of Terraform and TFLint for the current release.
So it's main use will be everywhere where Terraform is used and is great for statically or actively checking modules' sources.
Main action is using wata727's TFLint.
- name: Run the Action
uses: devops-infra/[email protected]
with:
dir_filter: modules
Input Variable | Required | Default | Description |
---|---|---|---|
dir_filter | No | * |
Prefixes or sub-directories to search for Terraform modules. Use comma as separator. |
fail_on_changes | No | true |
Whether TFLint should fail whole action. |
tflint_config | No | .tflint.hcl |
Location from repository root to TFLint config file. Disables tflint_params . |
tflint_params | No | `` | Parameters passed to TFLint binary. See TFLint for details. |
run_init | No | true |
Whether the action should run terraform init . Defaults to true. |
By default fail if lint errors found in any subdirectory. Run the Action via GitHub.
name: Check TFLint
on:
push:
branches:
- "**"
jobs:
format-hcl:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Check linting of Terraform files
uses: devops-infra/[email protected]
Use different location for TFLint config file and parse only aws*
and gcp*
modules in modules/
directory. Run the Action via GitHub.
name: Check TFLint with custom config
on:
push:
branches:
- "**"
jobs:
format-hcl:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Check linting of Terraform modules
uses: devops-infra/[email protected]
with:
tflint_config: modules/.tflint.hcl
dir_filter: modules/aws,modules/gcp
Use deep check (need cloud credentials) and treat all directories under modules
as Terraform modules. Run the Action via DockerHub.
name: Check TFLint with custom config
on:
push:
branches:
- "**"
jobs:
format-hcl:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Check linting of Terraform modules
uses: devops-infra/[email protected]
with:
tflint_params: "--module --deep"
dir_filter: modules