Skip to content

Commit cd40885

Browse files
committed
autoSync by Github Action
1 parent 73b600e commit cd40885

File tree

1 file changed

+45
-11
lines changed

1 file changed

+45
-11
lines changed

scripts/terraform-test.sh

+45-11
Original file line numberDiff line numberDiff line change
@@ -3,50 +3,84 @@
33
terraformVersionFile="tfversion.md"
44
echo "" > $terraformVersionFile
55
version=""
6+
updateFolder="examples/complete"
7+
tfvars="tfvars/01-update.tfvars"
68

79
f=${1}
810
success=true
911
# echo $f
1012
exitCode=0
1113
echo ""
1214
echo "====> Terraform testing in" $f
15+
# init
1316
terraform -chdir=$f init -upgrade >/dev/null
1417
if [[ $? -ne 0 ]]; then
1518
success=false
1619
exitCode=1
1720
echo -e "\033[31m[ERROR]\033[0m: running terraform init failed."
1821
else
22+
# plan
1923
echo ""
20-
echo "----> Plan Testing"
24+
echo -e "----> Plan Testing\n"
2125
terraform -chdir=$f plan >/dev/null
2226
if [[ $? -ne 0 ]]; then
2327
success=false
2428
exitCode=2
2529
echo -e "\033[31m[ERROR]\033[0m: running terraform plan failed."
2630
else
2731
echo -e "\033[32m - plan check: success\033[0m"
32+
# apply
2833
echo ""
29-
echo "----> Apply Testing"
34+
echo -e "----> Apply Testing\n"
3035
terraform -chdir=$f apply -auto-approve >/dev/null
3136
if [[ $? -ne 0 ]]; then
3237
success=false
3338
exitCode=3
3439
echo -e "\033[31m[ERROR]\033[0m: running terraform apply failed."
3540
else
3641
echo -e "\033[32m - apply check: success\033[0m"
37-
echo ""
38-
echo -e " ----> Apply Diff Checking\n"
39-
terraform -chdir=$f plan -detailed-exitcode
40-
if [[ $? -ne 0 ]]; then
41-
success=false
42-
exitCode=4
43-
echo -e "\033[31m[ERROR]\033[0m: running terraform plan for checking diff failed."
42+
# update & check diff
43+
if [ $f == $updateFolder ] && [ -f "${updateFolder}/${tfvars}" ];then
44+
# if example is complete and has tfvars folder
45+
echo ""
46+
echo -e " ----> Apply Update Testing\n"
47+
terraform -chdir=$f apply -auto-approve -var-file=$tfvars >/dev/null
48+
if [[ $? -ne 0 ]]; then
49+
success=false
50+
exitCode=3
51+
echo -e "\033[31m[ERROR]\033[0m: running terraform apply update failed."
52+
else
53+
echo -e "\033[32m - apply update check: success\033[0m"
54+
echo ""
55+
echo -e " ----> Apply Diff Checking\n"
56+
terraform -chdir=$f plan -var-file=$tfvars -detailed-exitcode
57+
if [[ $? -ne 0 ]]; then
58+
success=false
59+
if [[ $exitCode -eq 0 ]]; then
60+
exitCode=4
61+
fi
62+
echo -e "\033[31m[ERROR]\033[0m: running terraform plan for checking diff failed."
63+
else
64+
echo -e "\033[32m - apply diff check: success\033[0m"
65+
fi
66+
fi
4467
else
45-
echo -e "\033[32m - apply diff check: success\033[0m"
68+
# if example is no need to update
69+
echo ""
70+
echo -e " ----> Apply Diff Checking\n"
71+
terraform -chdir=$f plan -detailed-exitcode
72+
if [[ $? -ne 0 ]]; then
73+
success=false
74+
exitCode=4
75+
echo -e "\033[31m[ERROR]\033[0m: running terraform plan for checking diff failed."
76+
else
77+
echo -e "\033[32m - apply diff check: success\033[0m"
78+
fi
4679
fi
4780
fi
81+
# destroy
4882
echo ""
49-
echo " ----> Destroying"
83+
echo -e " ----> Destroying\n"
5084
terraform -chdir=$f destroy -auto-approve >/dev/null
5185
if [[ $? -ne 0 ]]; then
5286
success=false

0 commit comments

Comments
 (0)