From bd9b4a2833b40d590487fa56b8af27e7c89904b8 Mon Sep 17 00:00:00 2001 From: Christian Lechner Date: Fri, 28 Jun 2024 15:57:34 +0200 Subject: [PATCH] chore: GH Action to validate samples.tfvars with variables.tf --- .github/workflows/dc_tfvars_check.yml | 57 +++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/dc_tfvars_check.yml diff --git a/.github/workflows/dc_tfvars_check.yml b/.github/workflows/dc_tfvars_check.yml new file mode 100644 index 00000000..a0f9dda8 --- /dev/null +++ b/.github/workflows/dc_tfvars_check.yml @@ -0,0 +1,57 @@ +name: DC Mission - tfvars check + +on: + pull_request: + types: + - opened + - reopened + - synchronize + - ready_for_review + paths: + - 'released/discovery_center/**' + + +jobs: + terraform-console-validate: + name: Validate Consistency of tfvar files + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Setup Terraform + uses: hashicorp/setup-terraform@v3 + with: + terraform_wrapper: false + + - name: Get changed directories + id: changed-dirs + uses: tj-actions/changed-files@v44 + with: + dir_names: 'true' + + - name: Validate Terraform tfvars + if: steps.changed-dirs.outputs.any_changed == 'true' + env: + ALL_CHANGED_FILES: ${{ steps.changed-dirs.outputs.all_changed_files }} + shell: bash + run: | + EXIT_CODE=0 + for dir in ${ALL_CHANGED_FILES}; do + if [[ $dir == *"step"* ]]; then + echo "Validating Terraform tfvars files in $dir" + cd $dir + terraform init -backend=false || EXIT_CODE=$? + echo '"test"' | terraform console -var-file sample.tfvars > validatetfvars.txt + if [[ $(