Skip to content

Commit 5a2e261

Browse files
committed
ci: add terraform support
Signed-off-by: Ales Verbic <averbic@applause.com>
1 parent 6ee33bc commit 5a2e261

2 files changed

Lines changed: 78 additions & 0 deletions

File tree

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: run-terraform
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
arguments:
7+
description: 'Terraform CLI arguments'
8+
required: true
9+
default: 'apply -auto-approve'
10+
11+
defaults:
12+
run:
13+
shell: bash
14+
15+
jobs:
16+
terraform:
17+
name: terraform
18+
runs-on: ubuntu-latest
19+
env:
20+
CLOUDFLARE_API_KEY: ${{ secrets.CLOUDFLARE_API_KEY }}
21+
CLOUDFLARE_EMAIL: ${{ secrets.CLOUDFLARE_EMAIL }}
22+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
23+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
24+
TF_IN_AUTOMATION: true
25+
26+
steps:
27+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 https://github.com/actions/checkout/releases/tag/v5.0.0
28+
- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2 https://github.com/hashicorp/setup-terraform/releases/tag/v3.1.2
29+
with:
30+
terraform_version: "1.11.4"
31+
terraform_wrapper: false
32+
- name: Create backend.tf and env.auto.tfvars
33+
run: |
34+
printf '%s' '${{ secrets.BACKEND_TF }}' | base64 -d > backend.tf
35+
printf '%s' '${{ secrets.ENV_AUTO_TFVARS }}' | base64 -d > env.auto.tfvars
36+
- name: Terraform Init
37+
run: terraform init -input=false
38+
- name: Terraform + Custom Inputs
39+
run: terraform ${{ inputs.arguments }} -input=false
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: run-terraform
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
branches:
7+
- main
8+
9+
defaults:
10+
run:
11+
shell: bash
12+
13+
jobs:
14+
terraform:
15+
name: terraform
16+
runs-on: ubuntu-latest
17+
env:
18+
CLOUDFLARE_ACCOUNT_ID: ${{ vars.CLOUDFLARE_ACCOUNT_ID }}
19+
CLOUDFLARE_API_KEY: ${{ secrets.CLOUDFLARE_API_KEY }}
20+
CLOUDFLARE_EMAIL: ${{ secrets.CLOUDFLARE_EMAIL }}
21+
CLOUDFLARE_ZONE_ID: ${{ vars.CLOUDFLARE_ZONE_ID }}
22+
CLOUDFLARE_ZONE_NAME: ${{ vars.CLOUDFLARE_ZONE_NAME }}
23+
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
24+
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
25+
TF_IN_AUTOMATION: true
26+
27+
steps:
28+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 https://github.com/actions/checkout/releases/tag/v5.0.0
29+
- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2 https://github.com/hashicorp/setup-terraform/releases/tag/v3.1.2
30+
with:
31+
terraform_version: "1.11.4"
32+
terraform_wrapper: false
33+
- name: Create backend.tf and env.auto.tfvars
34+
run: |
35+
printf '%s' '${{ secrets.BACKEND_TF }}' | base64 -d > backend.tf
36+
- name: Terraform Init
37+
run: terraform init -input=false
38+
- name: Terraform Plan
39+
run: terraform plan -input=false

0 commit comments

Comments
 (0)