Skip to content

Commit 011b5ce

Browse files
ci: added terraform version and aws credentials dynamically (#84)
Co-authored-by: Anmol Nagpal <[email protected]>
1 parent bb25820 commit 011b5ce

File tree

3 files changed

+33
-5
lines changed

3 files changed

+33
-5
lines changed

.github/workflows/terraform_workflow.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,6 @@ jobs:
9191
SPACES_ACCESS_KEY_ID: ${{ secrets.SPACES_ACCESS_KEY_ID }}
9292
SPACES_SECRET_ACCESS_KEY: ${{ secrets.SPACES_SECRET_ACCESS_KEY }}
9393
TF_VAR_access_token: ${{ secrets.TF_VAR_access_token }}
94-
9594
outputs:
9695
tfplanExitCode: ${{ steps.tf-plan.outputs.exitcode }}
9796

.github/workflows/tf-checks.yml

Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,22 @@ on:
1010
required: false
1111
type: string
1212
default: './_example/complete/'
13+
terraform_version:
14+
description: 'Terraform version to use. Leave empty for the latest version.'
15+
required: false
16+
type: string
17+
aws_credentials:
18+
description: 'AWS credentials to use.'
19+
required: false
20+
default: false
21+
type: string
22+
secrets:
23+
AWS_ACCESS_KEY_ID:
24+
description: 'aws access keys'
25+
required: false
26+
AWS_SECRET_ACCESS_KEY:
27+
description: 'aws secret access keys'
28+
required: false
1329

1430
jobs:
1531
# - Terraform version extract as output.
@@ -50,11 +66,19 @@ jobs:
5066
- name: Checkout
5167
uses: actions/checkout@v4
5268

69+
- name: Configure AWS credentials
70+
if: ${{ inputs.aws_credentials == 'true' }}
71+
uses: aws-actions/configure-aws-credentials@v3
72+
with:
73+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
74+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
75+
aws-region: us-east-1
76+
5377
# - Installing terraform version based on version extract.
54-
- name: Install Terraform v${{ matrix.version }}
78+
- name: Install Terraform v${{ inputs.terraform_version || needs.versionExtract.outputs.maxVersion }}
5579
uses: hashicorp/setup-terraform@v2
5680
with:
57-
terraform_version: ${{ matrix.version }}
81+
terraform_version: ${{ inputs.terraform_version || needs.versionExtract.outputs.maxVersion }}
5882

5983
# - Terraform checks to Init and Validate terraform code.
6084
- name: Init & validate v${{ matrix.version }}
@@ -75,10 +99,10 @@ jobs:
7599
uses: actions/checkout@v4
76100

77101
# - Action added to install terraform
78-
- name: Install Terraform v${{ needs.versionExtract.outputs.maxVersion }}
102+
- name: Install Terraform v${{ inputs.terraform_version || needs.versionExtract.outputs.maxVersion }}
79103
uses: hashicorp/setup-terraform@v2
80104
with:
81-
terraform_version: ${{ needs.versionExtract.outputs.maxVersion }}
105+
terraform_version: ${{ inputs.terraform_version || needs.versionExtract.outputs.maxVersion }}
82106

83107
# - Running command to check terraform formatting changes.
84108
- name: Check Terraform format changes

docs/terraform-checks.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,9 @@ jobs:
1818
uses: clouddrove/github-shared-workflows/.github/workflows/tf-checks.yml@master
1919
with:
2020
working_directory: './_example/complete/'
21+
# terraform_version: 0.12.31 // Specify the Terraform version to use. Uncomment and provide your desired version, or leave it as is to use the latest version.
22+
aws_credentials: false // Provide your AWS Credentails ID here if 'aws_credentials' is set to 'true'.
23+
secrets:
24+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
25+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
2126
```

0 commit comments

Comments
 (0)