1+ name : ' Terraform GitHub Actions'
2+ on :
3+ pull_request :
4+ branches :
5+ - master
6+
7+ jobs :
8+ terraform :
9+ name : ' Terraform'
10+ runs-on : ubuntu-latest
11+ steps :
12+ - name : ' Checkout'
13+ uses : actions/checkout@master
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+
22+
23+ - name : ' Terraform Format'
24+ uses :
' clouddrove/[email protected] ' 25+ with :
26+ actions_subcommand : ' fmt'
27+
28+ - name : ' Terraform init'
29+ uses :
' clouddrove/[email protected] ' 30+ with :
31+ actions_subcommand : ' init'
32+ tf_actions_working_dir : ./_example
33+
34+ - name : ' Terraform validate'
35+ uses :
' clouddrove/[email protected] ' 36+ with :
37+ actions_subcommand : ' validate'
38+ tf_actions_working_dir : ./_example
39+
40+ - name : ' Terraform plan'
41+ uses :
' clouddrove/[email protected] ' 42+ with :
43+ actions_subcommand : ' plan'
44+ tf_actions_working_dir : ./_example
45+
46+ - name : ' Slack Notification'
47+ uses : clouddrove/action-slack@v2
48+ with :
49+ status : ${{ job.status }}
50+ fields : repo,author
51+ author_name : ' CloudDrove'
52+ env :
53+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # required
54+ SLACK_WEBHOOK_URL : ${{ secrets.SLACK_WEBHOOK_TERRAFORM }} # required
55+ if : always()
0 commit comments