Skip to content

Commit dd7ba11

Browse files
committed
Add GHA workflow for operation
1 parent 99545ae commit dd7ba11

File tree

2 files changed

+99
-0
lines changed

2 files changed

+99
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Clear Deployment History
2+
3+
on:
4+
workflow_dispatch:
5+
schedule:
6+
- cron: "0 0/4 * * *"
7+
8+
permissions:
9+
contents: read
10+
id-token: write
11+
issues: write
12+
pull-requests: write
13+
14+
jobs:
15+
delete-deployment-history:
16+
name: "Deleting Deployment History"
17+
18+
runs-on: ubuntu-latest
19+
20+
env:
21+
AZURE_CLIENT_ID: ${{ vars.AZM_CLIENT_ID }}
22+
AZURE_TENANT_ID: ${{ vars.AZM_TENANT_ID }}
23+
AZURE_SUBSCRIPTION_ID: ${{ vars.AZM_SUBSCRIPTION_ID }}
24+
25+
steps:
26+
- name: Azure login (Federated Credentials)
27+
if: env.AZURE_CLIENT_ID != ''
28+
uses: azure/login@v2
29+
with:
30+
client-id: ${{ env.AZURE_CLIENT_ID }}
31+
tenant-id: ${{ env.AZURE_TENANT_ID }}
32+
subscription-id: ${{ env.AZURE_SUBSCRIPTION_ID }}
33+
enable-AzPSSession: true
34+
35+
- name: Delete all deployment history
36+
shell: pwsh
37+
run: |
38+
$history = az deployment sub list --query "[].name" | ConvertFrom-Json
39+
$history | ForEach-Object {
40+
$name = $_
41+
az deployment sub delete --name $name --no-wait
42+
}
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
name: Clear Resource Group
2+
3+
on:
4+
workflow_dispatch:
5+
# schedule:
6+
# # Run every day at 5:30 AM (KST)
7+
# - cron: "30 20 * * *"
8+
9+
permissions:
10+
contents: read
11+
id-token: write
12+
issues: write
13+
pull-requests: write
14+
15+
jobs:
16+
reset-resource-group:
17+
name: "Resetting Resource Groups"
18+
19+
runs-on: ubuntu-latest
20+
21+
env:
22+
AZURE_CLIENT_ID: ${{ vars.AZM_CLIENT_ID }}
23+
AZURE_TENANT_ID: ${{ vars.AZM_TENANT_ID }}
24+
AZURE_SUBSCRIPTION_ID: ${{ vars.AZM_SUBSCRIPTION_ID }}
25+
AZURE_RESOURCE_GROUPS: ${{ vars.AZM_RESOURCE_GROUPS }}
26+
AZURE_APP_NAME: ${{ vars.AZM_APP_NAME }}
27+
28+
steps:
29+
- name: Azure login (Federated Credentials)
30+
if: env.AZURE_CLIENT_ID != ''
31+
uses: azure/login@v2
32+
with:
33+
client-id: ${{ env.AZURE_CLIENT_ID }}
34+
tenant-id: ${{ env.AZURE_TENANT_ID }}
35+
subscription-id: ${{ env.AZURE_SUBSCRIPTION_ID }}
36+
enable-AzPSSession: true
37+
38+
- name: Delete all resource groups
39+
shell: pwsh
40+
run: |
41+
$excludes = "${{ env.AZURE_RESOURCE_GROUPS }}" -split ','
42+
$groups = az group list --query "[].name" | ConvertFrom-Json
43+
$groups | ForEach-Object {
44+
$name = $_
45+
if ($excludes -notcontains $name) {
46+
az group delete -g $name -y --no-wait
47+
}
48+
}
49+
50+
- name: Delete all apps
51+
shell: pwsh
52+
run: |
53+
$apps = az ad app list --query "[?displayName != '${{ env.AZURE_APP_NAME }}'].{id: id, displayName:displayName, appId: appId}" | ConvertFrom-Json
54+
$apps | ForEach-Object {
55+
$id = $_.id
56+
az ad app delete --id $id
57+
}

0 commit comments

Comments
 (0)