diff --git a/.github/workflows/validate-terraform.yml b/.github/workflows/validate-terraform.yml new file mode 100644 index 0000000..bbafc36 --- /dev/null +++ b/.github/workflows/validate-terraform.yml @@ -0,0 +1,30 @@ +name: "TF template tests" +on: [workflow_dispatch, pull_request] + +jobs: + + ValidateTF: + runs-on: ubuntu-latest + name: "Validatation (format & syntax)" + defaults: + run: + working-directory: ./aws + steps: + - uses: actions/checkout@v4 + name: Checkout source code + + - uses: hashicorp/setup-terraform@v3 + name: Setup Terraform + + - name: Initialize and Validate Terraform Modules + run: | + # Find all directories inside the 'aws' directory that contain Terraform files + dirs=$(find aws -type f -name "*.tf" -exec dirname {} \; | sort -u) + for dir in $dirs; do + echo "Running terraform init and validate in directory: $dir" + cd $dir + terraform fmt -check -recursive -diff + terraform init -input=false + terraform validate + cd - # Go back to the root directory + done \ No newline at end of file