Skip to content

Commit 1e37ff7

Browse files
fix: one click deployment github action issue
1 parent b6103dc commit 1e37ff7

File tree

1 file changed

+42
-5
lines changed

1 file changed

+42
-5
lines changed

.github/workflows/deploy.yml

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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)