Skip to content

Commit b1a51b8

Browse files
Update vent_creation.yml
1 parent 280bcab commit b1a51b8

File tree

1 file changed

+48
-6
lines changed

1 file changed

+48
-6
lines changed

.github/workflows/vent_creation.yml

Lines changed: 48 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,18 +10,19 @@ permissions:
1010
contents: read
1111

1212
jobs:
13-
terraform:
14-
name: Terraform Apply
13+
terraform-plan:
14+
name: Terraform Plan
1515
runs-on: ubuntu-latest
1616

17-
environment: prod-approval # 👈 This enables manual approval
18-
1917
env:
2018
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
2119
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
2220
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }}
2321
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }}
2422

23+
outputs:
24+
plan-status: ${{ steps.plan.outcome }}
25+
2526
steps:
2627
- name: Checkout repository
2728
uses: actions/checkout@v4
@@ -30,20 +31,61 @@ jobs:
3031
uses: hashicorp/setup-terraform@v3
3132
with:
3233
terraform_version: 1.7.5
33-
34+
3435
- name: Azure Login
3536
uses: azure/login@v2
3637
with:
3738
client-id: ${{ secrets.ARM_CLIENT_ID }}
3839
tenant-id: ${{ secrets.ARM_TENANT_ID }}
3940
subscription-id: ${{ secrets.ARM_SUBSCRIPTION_ID }}
4041

41-
4242
- name: Terraform Init
4343
run: terraform init
4444

4545
- name: Terraform Plan
46+
id: plan
4647
run: terraform plan -out=tfplan
4748

49+
- name: Upload tfplan Artifact
50+
uses: actions/upload-artifact@v4
51+
with:
52+
name: tfplan
53+
path: tfplan
54+
55+
56+
terraform-apply:
57+
name: Terraform Apply (after approval)
58+
needs: terraform-plan
59+
runs-on: ubuntu-latest
60+
environment: prod-approval # 👈 Manual approval here
61+
62+
env:
63+
ARM_CLIENT_ID: ${{ secrets.ARM_CLIENT_ID }}
64+
ARM_CLIENT_SECRET: ${{ secrets.ARM_CLIENT_SECRET }}
65+
ARM_SUBSCRIPTION_ID: ${{ secrets.ARM_SUBSCRIPTION_ID }}
66+
ARM_TENANT_ID: ${{ secrets.ARM_TENANT_ID }}
67+
68+
steps:
69+
- name: Checkout repository
70+
uses: actions/checkout@v4
71+
72+
- name: Set up Terraform
73+
uses: hashicorp/setup-terraform@v3
74+
with:
75+
terraform_version: 1.7.5
76+
77+
- name: Azure Login
78+
uses: azure/login@v2
79+
with:
80+
client-id: ${{ secrets.ARM_CLIENT_ID }}
81+
tenant-id: ${{ secrets.ARM_TENANT_ID }}
82+
subscription-id: ${{ secrets.ARM_SUBSCRIPTION_ID }}
83+
84+
- name: Download tfplan Artifact
85+
uses: actions/download-artifact@v4
86+
with:
87+
name: tfplan
88+
path: .
89+
4890
- name: Terraform Apply
4991
run: terraform apply -auto-approve tfplan

0 commit comments

Comments
 (0)