Skip to content

Commit 1460d6c

Browse files
Merge pull request #100 from microsoft/psl-task-18125
fix: one click deployment github action issue
2 parents b6103dc + 28c2662 commit 1460d6c

File tree

1 file changed

+46
-9
lines changed

1 file changed

+46
-9
lines changed

.github/workflows/deploy.yml

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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
@@ -50,6 +50,18 @@ jobs:
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
@@ -58,7 +70,7 @@ jobs:
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
@@ -80,8 +92,8 @@ jobs:
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

Comments
 (0)