1
1
#! /usr/bin/env sh
2
2
3
- if [ ! $# -eq 1 ]; then
4
- exit 1
5
- fi
6
-
7
3
terraformVersionFile=" tfversion.md"
8
4
echo " " > $terraformVersionFile
9
5
version=" "
10
6
11
- exitCode=0
12
7
f=${1}
13
8
success=true
14
9
# echo $f
10
+ exitCode=0
15
11
echo " "
16
12
echo " ====> Terraform testing in" $f
17
13
terraform -chdir=$f init -upgrade > /dev/null
18
-
19
- echo " "
20
- echo " ----> Plan Testing"
21
- terraform -chdir=$f plan > /dev/null
22
14
if [[ $? -ne 0 ]]; then
23
15
success=false
24
- exitCode=2
25
- echo -e " \033[31m[ERROR]\033[0m: running terraform plan failed."
16
+ exitCode=1
17
+ echo -e " \033[31m[ERROR]\033[0m: running terraform init failed."
26
18
else
27
- echo -e " \033[32m - plan check: success\033[0m"
28
19
echo " "
29
- echo " ----> Apply Testing"
30
- terraform -chdir=$f apply -auto-approve > /dev/null
20
+ echo " ----> Plan Testing"
21
+ terraform -chdir=$f plan > /dev/null
31
22
if [[ $? -ne 0 ]]; then
32
- success=false
33
- exitCode=3
34
- echo -e " \033[31m[ERROR]\033[0m: running terraform apply failed."
23
+ success=false
24
+ exitCode=2
25
+ echo -e " \033[31m[ERROR]\033[0m: running terraform plan failed."
35
26
else
36
- 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
27
+ echo -e " \033[32m - plan check: success\033[0m"
28
+ echo " "
29
+ echo " ----> Apply Testing "
30
+ terraform -chdir=$f apply -auto-approve > /dev/null
31
+ if [[ $? -ne 0 ]]; then
41
32
success=false
42
- exitCode=4
43
- echo -e " \033[31m[ERROR]\033[0m: running terraform plan for checking diff failed."
44
- else
45
- echo -e " \033[32m - apply diff check: success\033[0m"
33
+ exitCode=3
34
+ echo -e " \033[31m[ERROR]\033[0m: running terraform apply failed."
35
+ else
36
+ 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."
44
+ else
45
+ echo -e " \033[32m - apply diff check: success\033[0m"
46
+ fi
47
+ fi
48
+ echo " "
49
+ echo " ----> Destroying"
50
+ terraform -chdir=$f destroy -auto-approve > /dev/null
51
+ if [[ $? -ne 0 ]]; then
52
+ success=false
53
+ if [[ $exitCode -eq 0 ]]; then
54
+ exitCode=5
46
55
fi
47
- fi
48
- echo " "
49
- echo " ----> Destroying"
50
- terraform -chdir=$f destroy -auto-approve > /dev/null
51
- if [[ $? -ne 0 ]]; then
52
- success=false
53
- exitCode=5
54
- echo -e " \033[31m[ERROR]\033[0m: running terraform destroy failed."
55
- else
56
- echo -e " \033[32m - destroy: success\033[0m"
56
+ echo -e " \033[31m[ERROR]\033[0m: running terraform destroy failed."
57
+ else
58
+ echo -e " \033[32m - destroy: success\033[0m"
59
+ fi
57
60
fi
58
61
fi
59
62
@@ -63,10 +66,12 @@ if [ -n "$row" ]; then
63
66
version=` echo -e " $version " | sed -n " 1,${row} p" `
64
67
fi
65
68
69
+ if [[ $exitCode -ne 1 ]]; then
70
+ rm -rf $f /.terraform
71
+ rm -rf $f /.terraform.lock.hcl
72
+ fi
73
+
66
74
echo -e " ### Versions\n" >> $terraformVersionFile
67
75
echo -e " ${version} " >> $terraformVersionFile
68
76
69
- rm -rf $f /.terraform
70
- rm -rf $f /.terraform.lock.hcl
71
-
72
- exit $exitCode
77
+ exit $exitCode
0 commit comments