@@ -30,11 +30,11 @@ jobs:
3030 id : generate_rg_name
3131 run : |
3232 echo "Generating a unique resource group name..."
33- TIMESTAMP=$(date +%Y%m%d%H%M%S)
34- COMMON_PART="ci-mycsa"
35- UNIQUE_RG_NAME="${COMMON_PART}${TIMESTAMP }"
33+ ACCL_NAME="codemod"
34+ SHORT_UUID=$(uuidgen | cut -d'-' -f1)
35+ UNIQUE_RG_NAME="arg-${ACCL_NAME}-${SHORT_UUID }"
3636 echo "RESOURCE_GROUP_NAME=${UNIQUE_RG_NAME}" >> $GITHUB_ENV
37- echo "Generated Resource_GROUP_PREFIX : ${UNIQUE_RG_NAME}"
37+ echo "Generated RESOURCE_GROUP_NAME : ${UNIQUE_RG_NAME}"
3838
3939
4040 - name : Check and Create Resource Group
5050 echo "Resource group already exists."
5151 fi
5252
53+
54+ - name : Generate Unique Solution Prefix
55+ id : generate_solution_prefix
56+ run : |
57+ set -e
58+ COMMON_PART="pslcod"
59+ TIMESTAMP=$(date +%s)
60+ UPDATED_TIMESTAMP=$(echo $TIMESTAMP | tail -c 3)
61+ UNIQUE_SOLUTION_PREFIX="${COMMON_PART}${UPDATED_TIMESTAMP}"
62+ echo "SOLUTION_PREFIX=${UNIQUE_SOLUTION_PREFIX}" >> $GITHUB_ENV
63+ echo "Generated SOLUTION_PREFIX: ${UNIQUE_SOLUTION_PREFIX}"
64+
5365
5466 - name : Deploy Bicep Template
5567 id : deploy
5870 az deployment group create \
5971 --resource-group ${{ env.RESOURCE_GROUP_NAME }} \
6072 --template-file infra/main.bicep \
61- --parameters AzureAiServiceLocation=northcentralus Prefix=codegen
73+ --parameters AzureAiServiceLocation=northcentralus Prefix=${{ env.SOLUTION_PREFIX }}
6274
6375
6476 - name : Send Notification on Failure
8092 -d "$EMAIL_BODY" || echo "Failed to send notification"
8193
8294
83- - name : Get Log Analytics Workspace from Resource Group
84- id : get_log_analytics_workspace
95+ - name : Get Log Analytics Workspace and OpenAI from Resource Group
96+ id : get_azure_resources
8597 run : |
8698
8799 set -e
@@ -98,6 +110,19 @@ jobs:
98110 echo "Log Analytics workspace name : ${log_analytics_workspace_name}"
99111 fi
100112
113+ echo "Fetching OpenAI resource from resource group ${{ env.RESOURCE_GROUP_NAME }}..."
114+
115+ # Run the az resource list command to get the OpenAI resource name
116+ openai_resource_name=$(az resource list --resource-group ${{ env.RESOURCE_GROUP_NAME }} --resource-type "Microsoft.CognitiveServices/accounts" --query "[0].name" -o tsv)
117+
118+ if [ -z "$openai_resource_name" ]; then
119+ echo "No OpenAI resource found in resource group ${{ env.RESOURCE_GROUP_NAME }}."
120+ exit 1
121+ else
122+ echo "OPENAI_RESOURCE_NAME=${openai_resource_name}" >> $GITHUB_ENV
123+ echo "OpenAI resource name : ${openai_resource_name}"
124+ fi
125+
101126
102127 - name : List KeyVaults and Store in Array
103128 id : list_keyvaults
@@ -179,7 +204,7 @@ jobs:
179204 IFS=',' read -r -a resources_to_check <<< "$stripped_keyvaults"
180205
181206 # Append new resources to the array
182- resources_to_check+=("${{ env.LOG_ANALYTICS_WORKSPACE_NAME }}")
207+ resources_to_check+=("${{ env.LOG_ANALYTICS_WORKSPACE_NAME }}" "${{ env.OPENAI_RESOURCE_NAME }}" )
183208
184209 echo "List of resources to check: ${resources_to_check[@]}"
185210
@@ -230,7 +255,18 @@ jobs:
230255 if : success()
231256 run : |
232257
233- set -e
258+ set -e
259+
260+ echo "Azure OpenAI: ${{ env.OPENAI_RESOURCE_NAME }}"
261+
262+ # Purge OpenAI Resource
263+ echo "Purging the OpenAI Resource..."
264+ if ! az resource delete --ids /subscriptions/${{ secrets.AZURE_SUBSCRIPTION_ID }}/providers/Microsoft.CognitiveServices/locations/northcentralus/resourceGroups/${{ env.RESOURCE_GROUP_NAME }}/deletedAccounts/${{ env.OPENAI_RESOURCE_NAME }} --verbose; then
265+ echo "Failed to purge openai resource: ${{ env.OPENAI_RESOURCE_NAME }}"
266+ else
267+ echo "Purged the openai resource: ${{ env.OPENAI_RESOURCE_NAME }}"
268+ fi
269+
234270 # List of keyvaults
235271 KEYVAULTS="${{ env.KEYVAULTS }}"
236272
@@ -259,3 +295,4 @@ jobs:
259295 echo "KeyVault '$keyvault_name' is not soft-deleted. No action taken."
260296 fi
261297 done
298+ echo "Resource purging completed successfully"
0 commit comments