Skip to content

tf-admin-create-aco-creds apply #19

tf-admin-create-aco-creds apply

tf-admin-create-aco-creds apply #19

name: tf-admin-create-aco-creds
run-name: tf-admin-create-aco-creds ${{ (inputs.apply || (github.event_name == 'push' && github.ref == 'refs/heads/main')) && 'apply' || 'plan' }}
on:
push:
paths:
- .github/workflows/tf-admin-create-aco-creds.yml
- terraform/modules/bucket/**
- terraform/modules/key/**
- terraform/modules/function/**
- terraform/modules/queue/**
- terraform/modules/subnets/**
- terraform/modules/vpc/**
- terraform/services/admin-create-aco-creds/**
workflow_dispatch:
inputs:
apply:
required: false
type: boolean
jobs:
check-fmt:
runs-on: codebuild-cdap-${{github.run_id}}-${{github.run_attempt}}
steps:
- uses: actions/checkout@v4
- uses: ./actions/setup-tfenv-terraform
- run: terraform fmt -check -diff -recursive terraform/services/admin-create-aco-creds
plan-apply:
needs: check-fmt
permissions:
contents: read
id-token: write
runs-on: codebuild-cdap-${{github.run_id}}-${{github.run_attempt}}
defaults:
run:
working-directory: ./terraform/services/admin-create-aco-creds
strategy:
fail-fast: false
matrix:
app: [bcda]
env: [dev, test, sandbox, prod]
steps:
- uses: actions/checkout@v4
- uses: ./actions/setup-tfenv-terraform
- uses: aws-actions/configure-aws-credentials@v4
with:
role-to-assume: arn:aws:iam::${{ contains(fromJSON('["dev", "test"]'), matrix.env) && secrets.NON_PROD_ACCOUNT || secrets.PROD_ACCOUNT }}:role/delegatedadmin/developer/${{ matrix.app }}-${{ matrix.env }}-github-actions
aws-region: ${{ vars.AWS_REGION }}
- run: terraform init -backend-config=../../backends/${{ matrix.app }}-${{ matrix.env }}-gf.s3.tfbackend
- run: terraform plan -out=tf.plan
env:
TF_VAR_app: ${{ matrix.app }}
TF_VAR_env: ${{ matrix.env }}
TF_VAR_legacy: "false"
- if: inputs.apply || (github.event_name == 'push' && github.ref == 'refs/heads/main')
run: terraform apply -auto-approve tf.plan