@@ -100,6 +100,9 @@ jobs:
100
100
continue-on-error : false
101
101
environment : ${{ inputs.environment }}
102
102
needs : [lint]
103
+ concurrency :
104
+ group : terraform-${{ inputs.config }}-${{ inputs.environment }}
105
+ cancel-in-progress : false
103
106
104
107
env :
105
108
ARM_TENANT_ID : ${{ inputs.tenant_id }}
@@ -188,13 +191,25 @@ jobs:
188
191
body: output
189
192
})
190
193
194
+ # Terraform State Unlock
195
+ - name : Terraform State Unlock
196
+ working-directory : ${{ inputs.working_directory }}
197
+ if : cancelled()
198
+ run : |
199
+ LOCK_ID=`jq -r '.ID' .terraform.tfstate.lock.info`
200
+ echo $LOCK_ID
201
+ terraform force-unlock -force $LOCK_ID
202
+
191
203
apply :
192
204
name : Terraform Apply
193
205
runs-on : [self-hosted]
194
206
continue-on-error : false
195
207
environment : ${{ inputs.environment }}
196
208
if : github.event_name == 'push' || github.event_name == 'release'
197
209
needs : [plan]
210
+ concurrency :
211
+ group : terraform-${{ inputs.config }}-${{ inputs.environment }}
212
+ cancel-in-progress : false
198
213
199
214
env :
200
215
ARM_TENANT_ID : ${{ inputs.tenant_id }}
@@ -240,3 +255,12 @@ jobs:
240
255
env :
241
256
CONFIG : ${{ inputs.config }}
242
257
TF_VAR_my_secret : ${{ secrets.MY_SAMPLE_SECRET }}
258
+
259
+ # Terraform State Unlock
260
+ - name : Terraform State Unlock
261
+ working-directory : ${{ inputs.working_directory }}
262
+ if : cancelled()
263
+ run : |
264
+ LOCK_ID=`jq -r '.ID' .terraform.tfstate.lock.info`
265
+ echo $LOCK_ID
266
+ terraform force-unlock -force $LOCK_ID
0 commit comments