@@ -2,25 +2,31 @@ name: terraform-oidc
22
33on :
44 push :
5- branches : [ "main" ]
6- workflow_dispatch : {}
5+ branches : ["main"]
6+ workflow_dispatch :
77
88permissions :
99 id-token : write
1010 contents : read
1111
1212env :
13- TF_WORKING_DIR : infra/workload/01-local-state
14-
15- # Terraform AzureRM Provider / Backend via OIDC
16- ARM_USE_OIDC : true
17- ARM_CLIENT_ID : ${{ vars.AZURE_CLIENT_ID }}
18- ARM_TENANT_ID : ${{ vars.AZURE_TENANT_ID }}
19- ARM_SUBSCRIPTION_ID : ${{ vars.AZURE_SUBSCRIPTION_ID }}
13+ TF_IN_AUTOMATION : true
14+ TF_INPUT : false
2015
2116jobs :
2217 plan :
18+ name : plan
2319 runs-on : ubuntu-latest
20+ defaults :
21+ run :
22+ working-directory : infra/workload/01-local-state
23+ shell : bash
24+ env :
25+ ARM_USE_OIDC : true
26+ ARM_CLIENT_ID : ${{ vars.AZURE_CLIENT_ID }}
27+ ARM_TENANT_ID : ${{ vars.AZURE_TENANT_ID }}
28+ ARM_SUBSCRIPTION_ID : ${{ vars.AZURE_SUBSCRIPTION_ID }}
29+
2430 steps :
2531 - name : Checkout
2632 uses : actions/checkout@v4
@@ -37,22 +43,34 @@ jobs:
3743 with :
3844 terraform_version : 1.14.2
3945
40- - name : Terraform Init
41- working-directory : ${{ env.TF_WORKING_DIR }}
42- run : terraform init
46+ - name : Terraform fmt (check)
47+ run : terraform fmt -check -recursive
48+
49+ - name : Terraform init
50+ run : terraform init -input=false
4351
44- - name : Terraform Validate
45- working-directory : ${{ env.TF_WORKING_DIR }}
52+ - name : Terraform validate
4653 run : terraform validate
4754
48- - name : Terraform Plan
49- working-directory : ${{ env.TF_WORKING_DIR }}
50- run : terraform plan -lock-timeout=0s
55+ - name : Terraform plan
56+ run : terraform plan -input=false -no-color
5157
5258 apply :
53- needs : plan
59+ name : apply
5460 runs-on : ubuntu-latest
61+ needs : plan
5562 if : github.event_name == 'workflow_dispatch'
63+ environment : apply
64+ defaults :
65+ run :
66+ working-directory : infra/workload/01-local-state
67+ shell : bash
68+ env :
69+ ARM_USE_OIDC : true
70+ ARM_CLIENT_ID : ${{ vars.AZURE_CLIENT_ID }}
71+ ARM_TENANT_ID : ${{ vars.AZURE_TENANT_ID }}
72+ ARM_SUBSCRIPTION_ID : ${{ vars.AZURE_SUBSCRIPTION_ID }}
73+
5674 steps :
5775 - name : Checkout
5876 uses : actions/checkout@v4
6987 with :
7088 terraform_version : 1.14.2
7189
72- - name : Terraform Init
73- working-directory : ${{ env.TF_WORKING_DIR }}
74- run : terraform init
90+ - name : Terraform init
91+ run : terraform init -input=false
7592
76- - name : Terraform Apply
77- working-directory : ${{ env.TF_WORKING_DIR }}
78- run : terraform apply -auto-approve -lock-timeout=0s
93+ - name : Terraform apply
94+ run : terraform apply -auto-approve -input=false -no-color
0 commit comments