| .. | ||
| action.yml | ||
| README.md | ||
terraform-validate
Validate Terraform configuration files using the official Terraform CLI.
Inputs
| Input | Required | Default | Description |
|---|---|---|---|
terraform-dir |
No | terraform |
Directory containing .tf files |
terraform-version |
No | ~1.15 |
Terraform version to use |
workspace |
No | "" |
Terraform workspace to use |
jfrog-token |
No | "" |
JFrog Artifactory token for the Terraform provider registry (TF_TOKEN_schmalz_jfrog_io) |
mock-files |
No | "" |
Newline-separated list of file paths (relative to repo root) to create as empty files before validation. Useful when Terraform uses file() references that do not exist in CI. |
Usage
- uses: https://schmalz-git.git.onstackit.cloud/schmalz/shared-actions/terraform-validate@terraform-validate-v1
with:
workspace: stage
jfrog-token: ${{ secrets.JFROG_TOKEN }}
With mock files for file() dependencies:
- uses: https://schmalz-git.git.onstackit.cloud/schmalz/shared-actions/terraform-validate@terraform-validate-v1
with:
workspace: stage
jfrog-token: ${{ secrets.JFROG_TOKEN }}
mock-files: |
config/app.json
secrets/tls.crt
secrets/tls.key
Notes
- Runs
terraform init -backend=false,terraform fmt -check -recursive, andterraform validate. - Sets
TF_WORKSPACEduring validate ifworkspaceis provided. - Sets
TF_TOKEN_schmalz_jfrog_ioon bothinitandvalidatesteps ifjfrog-tokenis provided. - When
mock-filesis set, empty files are created at the given paths (including any missing parent directories) beforeterraform initruns. This allows validation of configurations that reference external files viafile().