From fabb609840558e7d3c909284acf46bb5492e9509 Mon Sep 17 00:00:00 2001 From: Jake Pullen Date: Sat, 8 Nov 2025 21:06:54 +0000 Subject: [PATCH] Daily snapshot: 2025-11-08 --- workflows/terraform.yml | 68 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 workflows/terraform.yml diff --git a/workflows/terraform.yml b/workflows/terraform.yml new file mode 100644 index 0000000..6642018 --- /dev/null +++ b/workflows/terraform.yml @@ -0,0 +1,68 @@ +name: Terraform CI/CD + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + terraform: + runs-on: ubuntu-latest + env: + ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }} + ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }} + ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }} + ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }} + + steps: + - name: Checkout Code + uses: actions/checkout@v3 + + - name: Setup Terraform + uses: hashicorp/setup-terraform@v2 + + - name: Terraform Init (Dev) + run: | + cd environments/dev + terraform init + continue-on-error: false + + - name: Terraform Plan (Dev) + run: | + cd environments/dev + terraform plan -out=dev.plan + continue-on-error: false + + - name: Terraform Apply (Dev) + if: github.ref == 'refs/heads/main' && github.event_name == 'push' + run: | + cd environments/dev + terraform apply dev.plan + continue-on-error: false + + - name: Terraform Init (Prod) + run: | + cd environments/prod + terraform init + continue-on-error: false + + - name: Terraform Plan (Prod) + run: | + cd environments/prod + terraform plan -out=prod.plan + continue-on-error: false + + - name: Terraform Apply (Prod) + if: github.ref == 'refs/heads/main' && github.event_name == 'push' + run: | + cd environments/prod + terraform apply prod.plan + continue-on-error: false + + - name: Terraform Validate + run: | + cd environments/dev + terraform validate + cd ../prod + terraform validate \ No newline at end of file