Skip to content

fix: gh action tf validate syntax #271

fix: gh action tf validate syntax

fix: gh action tf validate syntax #271

name: Terraform Validate Tests
on:
push:
branches:
- main
- dev
- alpha
pull_request:
branches:
- main
jobs:
terraform_validate:
name: 'Terraform Validate ALL'
runs-on: ubuntu-latest
strategy:
fail-fast: false
max-parallel: 10
matrix:
terraform_ver: [~1.0.0, ~1.1.0, ~1.2.0, ~1.3.0, ~1.4.0, =1.5.5]
terraform_module_parent: [all, aws_ec2_instance, gcp_ce_vm, ibmcloud_vs, ibmcloud_powervs, ibmpowervc, msazure_vm, vmware_vm]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Terraform
uses: hashicorp/setup-terraform@v3.0.0
with:
terraform_version: ${{ matrix.terraform_ver }}
- name: Terraform Init
id: init
run: |
cd "./${{ matrix.terraform_module_parent }}"
for d in */; do
cd "$d"
terraform init
cd ..
done
- name: Terraform Validate
id: validate
run: |
cd "./${{ matrix.terraform_module_parent }}"
for d in */; do
cd "$d"
if [ "${{ matrix.terraform_module_parent }}" == "ibmcloud_powervs" ]
then
touch temp_provider.tf
echo 'provider "ibm" {' >> temp_provider.tf
echo ' alias = "main"' >> temp_provider.tf
echo ' ibmcloud_api_key = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"' >> temp_provider.tf
echo ' region = "eu-es"' >> temp_provider.tf
echo '}' >> temp_provider.tf
echo 'provider "ibm" {' >> temp_provider.tf
echo ' alias = "powervs_secure_enclave"' >> temp_provider.tf
echo ' ibmcloud_api_key = "xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"' >> temp_provider.tf
echo ' region = "mad"' >> temp_provider.tf
echo ' zone = "mad04"' >> temp_provider.tf
echo '}' >> temp_provider.tf
fi
terraform validate -no-color
cd ..
done