Skip to content

Manual - Apply changes to sandbox environment #4

Manual - Apply changes to sandbox environment

Manual - Apply changes to sandbox environment #4

---
name: Manual - Apply changes to sandbox environment
on:
workflow_dispatch:
inputs:
environment:
type: choice
description: Which environment to deploy to
required: true
default: staging
options: [sandbox-hpc]
concurrency:
group: terraform-${{ github.ref }}
jobs:
terraform_deployment:
environment: ${{ inputs.environment }} # secrets are set per environment https://github.com/openbraininstitute/aws-terraform-deployment/settings/environments
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
runs-on: ubuntu-latest
name: Manual terraform apply for sandbox environment
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Configure Terraform
uses: hashicorp/setup-terraform@v3
- name: Terraform format check
run: terraform fmt -check -diff -recursive
- name: Initialize Terraform
run: terraform init -backend-config="./${{ inputs.environment }}.config"
- name: Run Terraform Plan
run: |-
if [ -e ./scripts/terraform_plan_${{ inputs.environment }}.sh ]
then
./scripts/terraform_plan_${{ inputs.environment }}.sh
else
terraform plan -var-file="${{ inputs.environment }}.tfvars" -out plan.tfplan >/dev/null && terraform show plan.tfplan
fi
- name: Run Terraform Apply
run: |-
if [ -e ./scripts/terraform_apply_${{ inputs.environment }}.sh ]
then
./scripts/terraform_apply_${{ inputs.environment }}.sh
else
terraform apply -auto-approve -var-file="${{ inputs.environment }}.tfvars"
fi