1
1
name : ' Terraform GitHub Actions'
2
2
on :
3
- - pull_request
3
+ pull_request :
4
+ branches :
5
+ - master
4
6
5
7
jobs :
6
8
terraform :
7
9
name : ' Terraform'
8
10
runs-on : ubuntu-latest
9
11
steps :
10
-
11
12
- name : ' Checkout'
12
13
uses : actions/checkout@master
13
14
15
+ - name : Configure AWS Credentials
16
+ uses : clouddrove/configure-aws-credentials@v1
17
+ with :
18
+ aws-access-key-id : ${{ secrets.TEST_AWS_ACCESS_KEY }}
19
+ aws-secret-access-key : ${{ secrets.TEST_AWS_ACCESS_SECRET_KEY }}
20
+ aws-region : us-east-2
21
+
14
22
- name : ' Terraform Format'
15
- uses : clouddrove/github-actions@v2.0
23
+ uses : ' clouddrove/github-actions@v4.0 '
16
24
with :
17
25
actions_subcommand : ' fmt'
18
26
19
- - name : ' ALB Terraform Init '
20
- uses : clouddrove/github-actions@v2.0
27
+ - name : ' Terraform init for alb '
28
+ uses : ' clouddrove/github-actions@v4.0 '
21
29
with :
22
30
actions_subcommand : ' init'
23
31
tf_actions_working_dir : ./_example/alb
24
32
25
- - name : Configure AWS Credentials
26
- uses : clouddrove/configure-aws-credentials@v1
33
+ - name : ' Terraform validate for alb '
34
+ uses : ' clouddrove/github-actions@v4.0 '
27
35
with :
28
- aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
29
- aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
30
- aws-region : us-east-2
36
+ actions_subcommand : ' validate'
37
+ tf_actions_working_dir : ./_example/alb
31
38
32
- - name : ' ALB Terraform Plan '
33
- uses : clouddrove/github-actions@v2.0
39
+ - name : ' Terraform plan for alb '
40
+ uses : ' clouddrove/github-actions@v4.0 '
34
41
with :
35
42
actions_subcommand : ' plan'
36
43
tf_actions_working_dir : ./_example/alb
37
- env :
38
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
39
44
40
- - name : ' ALB Terratest '
41
- uses : clouddrove/github-actions@v2.0
45
+ - name : ' Terraform init for clb '
46
+ uses : ' clouddrove/github-actions@v4.0 '
42
47
with :
43
- actions_subcommand : ' terratest'
44
- tf_actions_working_dir : ./_test/alb
45
- env :
46
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
48
+ actions_subcommand : ' init'
49
+ tf_actions_working_dir : ./_example/clb
47
50
48
- - name : ' CLB Terraform Init '
49
- uses : clouddrove/github-actions@v2.0
51
+ - name : ' Terraform validate for clb '
52
+ uses : ' clouddrove/github-actions@v4.0 '
50
53
with :
51
- actions_subcommand : ' init '
54
+ actions_subcommand : ' validate '
52
55
tf_actions_working_dir : ./_example/clb
53
56
54
- - name : ' CLB Terraform Plan '
55
- uses : clouddrove/github-actions@v2.0
57
+ - name : ' Terraform plan for clb '
58
+ uses : ' clouddrove/github-actions@v4.0 '
56
59
with :
57
60
actions_subcommand : ' plan'
58
61
tf_actions_working_dir : ./_example/clb
59
- env :
60
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
61
62
62
- - name : ' CLB Terratest '
63
- uses : clouddrove/github-actions@v2.0
63
+ - name : ' Terraform init for nlb '
64
+ uses : ' clouddrove/github-actions@v4.0 '
64
65
with :
65
- actions_subcommand : ' terratest'
66
- tf_actions_working_dir : ./_test/clb
67
- env :
68
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
66
+ actions_subcommand : ' init'
67
+ tf_actions_working_dir : ./_example/nlb
68
+
69
+ - name : ' Terraform validate for nlb'
70
+ uses : ' clouddrove/github-actions@v4.0'
71
+ with :
72
+ actions_subcommand : ' validate'
73
+ tf_actions_working_dir : ./_example/nlb
74
+
75
+ - name : ' Terraform plan for nlb'
76
+ uses : ' clouddrove/github-actions@v4.0'
77
+ with :
78
+ actions_subcommand : ' plan'
79
+ tf_actions_working_dir : ./_example/nlb
69
80
70
81
- name : ' Slack Notification'
71
82
uses : clouddrove/action-slack@v2
72
83
with :
73
84
status : ${{ job.status }}
74
85
fields : repo,author
75
- author_name : ' Clouddrove '
86
+ author_name : ' CloudDrove '
76
87
env :
77
88
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # required
78
- SLACK_WEBHOOK_URL : ${{ secrets.SLACK_WEBHOOK }} # required
89
+ SLACK_WEBHOOK_URL : ${{ secrets.SLACK_WEBHOOK_TERRAFORM }} # required
79
90
if : always()
0 commit comments