Skip to content

Commit 0a64fc8

Browse files
authored
Merge pull request #3 from clouddrove/1.0.1
update github-action
2 parents 240ee59 + 55e2874 commit 0a64fc8

File tree

7 files changed

+295
-101
lines changed

7 files changed

+295
-101
lines changed

.github/workflows/readme.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
python-version: '3.x'
1919

2020
- name: 'create readme'
21-
uses: 'clouddrove/github-actions@v6.0'
21+
uses: 'clouddrove/github-actions@v9.0.2'
2222
with:
2323
actions_subcommand: 'readme'
2424
github_token: '${{ secrets.GITHUB}}'
@@ -35,7 +35,7 @@ jobs:
3535
continue-on-error: true
3636

3737
- name: 'push readme'
38-
uses: 'clouddrove/github-actions@v6.0'
38+
uses: 'clouddrove/github-actions@v9.0.2'
3939
continue-on-error: true
4040
with:
4141
actions_subcommand: 'push'

.github/workflows/terraform.yml

+55-72
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,46 @@
1-
name: 'Terraform GitHub Actions'
1+
name: static-checks
2+
23
on:
34
pull_request:
4-
branches:
5-
- master
65

76
jobs:
8-
fmt:
9-
name: 'terraform fmt'
7+
versionExtract:
8+
name: Get min/max versions
109
runs-on: ubuntu-latest
11-
steps:
12-
- name: 'Checkout'
13-
uses: actions/[email protected]
14-
15-
- name: 'Terraform Format'
16-
uses: 'clouddrove/[email protected]'
17-
with:
18-
actions_subcommand: 'fmt'
1910

20-
validate:
21-
name: 'terraform validate'
22-
runs-on: ubuntu-latest
2311
steps:
24-
- name: 'Checkout'
25-
uses: actions/[email protected]
26-
27-
- name: 'Configure AWS Credentials'
28-
uses: clouddrove/configure-aws-credentials@v1
29-
with:
30-
aws-access-key-id: ${{ secrets.TEST_AWS_ACCESS_KEY }}
31-
aws-secret-access-key: ${{ secrets.TEST_AWS_ACCESS_SECRET_KEY }}
32-
aws-region: us-east-2
12+
- name: Checkout
13+
uses: actions/checkout@v2
3314

34-
- name: 'terraform init'
35-
uses: 'clouddrove/[email protected]'
36-
with:
37-
actions_subcommand: 'init'
38-
tf_actions_working_dir: ./_example
15+
- name: Terraform min/max versions
16+
id: minMax
17+
uses: clowdhaus/terraform-min-max@main
18+
outputs:
19+
minVersion: ${{ steps.minMax.outputs.minVersion }}
20+
maxVersion: ${{ steps.minMax.outputs.maxVersion }}
3921

40-
- name: 'terraform validate'
41-
uses: 'clouddrove/[email protected]'
42-
with:
43-
actions_subcommand: 'validate'
44-
tf_actions_working_dir: ./_example
4522

46-
plan:
47-
name: 'terraform plan'
23+
versionEvaluate:
24+
name: Evaluate Terraform versions
4825
runs-on: ubuntu-latest
26+
needs: versionExtract
27+
strategy:
28+
fail-fast: false
29+
matrix:
30+
version:
31+
- ${{ needs.versionExtract.outputs.minVersion }}
32+
- ${{ needs.versionExtract.outputs.maxVersion }}
33+
directory:
34+
- _example/
35+
4936
steps:
50-
- name: 'Checkout'
51-
uses: actions/checkout@v2.3.4
37+
- name: Checkout
38+
uses: actions/checkout@v2
5239

53-
- name: 'terraform init'
54-
uses: 'clouddrove/[email protected]'
40+
- name: Install Terraform v${{ matrix.version }}
41+
uses: hashicorp/setup-terraform@v1
5542
with:
56-
actions_subcommand: 'init'
57-
tf_actions_working_dir: ./_example
43+
terraform_version: ${{ matrix.version }}
5844

5945
- name: 'Configure AWS Credentials'
6046
uses: clouddrove/configure-aws-credentials@v1
@@ -63,38 +49,35 @@ jobs:
6349
aws-secret-access-key: ${{ secrets.TEST_AWS_ACCESS_SECRET_KEY }}
6450
aws-region: us-east-2
6551

66-
- name: 'terraform plan'
67-
uses: 'clouddrove/[email protected]'
52+
- name: Init & validate v${{ matrix.version }}
53+
run: |
54+
cd ${{ matrix.directory }}
55+
terraform init
56+
terraform validate
57+
terraform plan -input=false -no-color
58+
59+
- name: tflint
60+
uses: reviewdog/action-tflint@master
6861
with:
69-
actions_subcommand: 'plan'
70-
tf_actions_working_dir: ./_example
62+
github_token: ${{ secrets.GITHUB }}
63+
working_directory: ${{ matrix.directory }}
64+
fail_on_error: 'true'
65+
filter_mode: 'nofilter'
66+
flags: '--module'
7167

72-
pre-commit:
73-
name: 'Pre-Commit'
74-
needs:
75-
- fmt
76-
- plan
77-
- validate
68+
format:
69+
name: Check code format
7870
runs-on: ubuntu-latest
79-
steps:
80-
- name: 'Checkout'
81-
uses: actions/[email protected]
82-
83-
- name: 'Install Tflint'
84-
run: |
85-
curl https://raw.githubusercontent.com/terraform-linters/tflint/master/install_linux.sh | bash
71+
needs: versionExtract
8672

87-
- name: 'Pre-Commit 🔎'
88-
uses: pre-commit/[email protected]
89-
continue-on-error: true
73+
steps:
74+
- name: Checkout
75+
uses: actions/checkout@v2
9076

91-
- name: 'Slack Notification'
92-
uses: clouddrove/action-slack@v2
77+
- name: Install Terraform v${{ needs.versionExtract.outputs.maxVersion }}
78+
uses: hashicorp/setup-terraform@v1
9379
with:
94-
status: ${{ job.status }}
95-
fields: repo,author
96-
author_name: 'CloudDrove'
97-
env:
98-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # required
99-
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_TERRAFORM }} # required
100-
if: always()
80+
terraform_version: ${{ needs.versionExtract.outputs.maxVersion }}
81+
82+
- name: Check Terraform format changes
83+
run: terraform fmt --recursive

.github/workflows/terratest.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
aws-region: us-east-2
2323

2424
- name: 'terratest'
25-
uses: 'clouddrove/github-actions@v6.0'
25+
uses: 'clouddrove/github-actions@v9.0.2'
2626
with:
2727
actions_subcommand: 'terratest'
2828
if: ${{ github.event.label.name == 'terratest' }}

.github/workflows/tfsec.yml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: tfsec
2+
on:
3+
pull_request:
4+
5+
jobs:
6+
tfsec:
7+
name: tfsec sarif report
8+
runs-on: ubuntu-latest
9+
10+
steps:
11+
- name: Clone repo
12+
uses: actions/checkout@master
13+
14+
- name: tfsec
15+
uses: aquasecurity/[email protected]
16+
with:
17+
sarif_file: tfsec.sarif
18+
working_directory: _example
19+
full_repo_scan: true
20+
21+
- name: Upload SARIF file
22+
uses: github/codeql-action/upload-sarif@v1
23+
with:
24+
# Path to SARIF file relative to the root of the repository
25+
sarif_file: tfsec.sarif

0 commit comments

Comments
 (0)