Skip to content

Commit 0c662ff

Browse files
ci: fix client advisor deploy and test automation workflows (#594)
* fix: Update CAdeploy and test automation workflows to enhance deployment and testing processes * fix: Refactor deployment script to use environment variables for capacity settings and improve quota failure notification * Remove 'fix-deploy' branch from deployment triggers in CAdeploy.yml
1 parent 4c4ebf0 commit 0c662ff

File tree

2 files changed

+24
-42
lines changed

2 files changed

+24
-42
lines changed

.github/workflows/CAdeploy.yml

Lines changed: 19 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ on:
44
push:
55
branches:
66
- main
7+
- dev
8+
- demo
79
schedule:
810
- cron: '0 6,18 * * *' # Runs at 6:00 AM and 6:00 PM GMT
911

@@ -51,8 +53,8 @@ jobs:
5153
export AZURE_TENANT_ID="${{ secrets.AZURE_TENANT_ID }}"
5254
export AZURE_CLIENT_SECRET="${{ secrets.AZURE_CLIENT_SECRET }}"
5355
export AZURE_SUBSCRIPTION_ID="${{ secrets.AZURE_SUBSCRIPTION_ID }}"
54-
export GPT_MIN_CAPACITY="150"
55-
export TEXT_EMBEDDING_MIN_CAPACITY="80"
56+
export GPT_MIN_CAPACITY="${{ env.GPT_MIN_CAPACITY }}"
57+
export TEXT_EMBEDDING_MIN_CAPACITY="${{ env.TEXT_EMBEDDING_MIN_CAPACITY }}"
5658
export AZURE_REGIONS="${{ vars.AZURE_REGIONS_CA }}"
5759
chmod +x infra/scripts/checkquota.sh
5860
if ! infra/scripts/checkquota.sh; then
@@ -70,7 +72,7 @@ jobs:
7072
-H "Content-Type: application/json" \
7173
-d '{
7274
"subject": "CA Deployment - Quota Check Failed",
73-
"body": "<p>The quota check failed for CA deployment.</p><p><a href=\"'${RUN_URL}'\">View run</a></p>"
75+
"body": "<p>Dear Team,</p><p>We would like to inform you that the Build-your-own-copilot-Solution-Accelerator(Client Advisor) Deployment Automation process has encountered a quota issue. Hence, unable to proceed with the deployment.</p><p><a href=\"'${RUN_URL}'\">View run</a></p>"
7476
}'
7577
7678
- name: Fail on Quota Check
@@ -132,10 +134,11 @@ jobs:
132134
if [[ "$BRANCH" == "main" ]]; then TAG="latest"
133135
elif [[ "$BRANCH" == "dev" ]]; then TAG="dev"
134136
elif [[ "$BRANCH" == "demo" ]]; then TAG="demo"
135-
else TAG="default"; fi
136-
echo "tagname=$TAG" >> $GITHUB_OUTPUT
137+
else TAG="latest"; fi
138+
echo "IMAGE_TAG=$TAG" >> $GITHUB_ENV
139+
echo "Image Tag: $TAG"
137140
138-
- name: Get Deployment Output and extract Values
141+
- name: Deploy and extract values from deployment output
139142
id: get_output
140143
run: |
141144
set -e
@@ -146,7 +149,7 @@ jobs:
146149
DEPLOY_OUTPUT=$(az deployment group create \
147150
--resource-group ${{ env.RESOURCE_GROUP_NAME }} \
148151
--template-file infra/main.bicep \
149-
--parameters aiDeploymentsLocation=${{ env.AZURE_LOCATION }} environmentName=${{ env.SOLUTION_PREFIX }} cosmosLocation=westus gptDeploymentCapacity=${{ env.GPT_MIN_CAPACITY }} embeddingDeploymentCapacity=${{ env.TEXT_EMBEDDING_MIN_CAPACITY }} \
152+
--parameters aiDeploymentsLocation=${{ env.AZURE_LOCATION }} environmentName=${{ env.SOLUTION_PREFIX }} cosmosLocation=westus gptDeploymentCapacity=${{ env.GPT_MIN_CAPACITY }} embeddingDeploymentCapacity=${{ env.TEXT_EMBEDDING_MIN_CAPACITY }} imageTag=${{ env.IMAGE_TAG }} \
150153
--query "properties.outputs" -o json)
151154
152155
@@ -179,64 +182,48 @@ jobs:
179182
echo "CLIENT_NAME=$CLIENT_NAME" >> $GITHUB_ENV
180183
export RG_NAME=$(echo "$DEPLOY_OUTPUT" | jq -r '.resourcE_GROUP_NAME.value')
181184
echo "RG_NAME=$RG_NAME" >> $GITHUB_ENV
185+
export RESOURCE_GROUP_NAME_FOUNDRY=$(echo "$DEPLOY_OUTPUT" | jq -r '.resourcE_GROUP_NAME_FOUNDRY.value')
186+
echo "RESOURCE_GROUP_NAME_FOUNDRY=$RESOURCE_GROUP_NAME_FOUNDRY" >> $GITHUB_ENV
182187
WEBAPP_URL=$(echo $DEPLOY_OUTPUT | jq -r '.weB_APP_URL.value')
183188
echo "WEBAPP_URL=$WEBAPP_URL" >> $GITHUB_OUTPUT
184189
WEB_APP_NAME=$(echo $DEPLOY_OUTPUT | jq -r '.weB_APP_NAME.value')
185190
echo "WEB_APP_NAME=$WEB_APP_NAME" >> $GITHUB_ENV
186191
echo "Deployment output: $DEPLOY_OUTPUT"
187192
188-
189193
echo "🔧 Disabling AUTH_ENABLED for the web app..."
190194
az webapp config appsettings set -g "$RG_NAME" -n "$WEB_APP_NAME" --settings AUTH_ENABLED=false
191195
192196
sleep 30
193197
194-
export CLIENT_OBJECT_ID=$(az identity show \
195-
--name "$CLIENT_NAME" \
196-
--resource-group "$RG_NAME" \
197-
--query 'principalId' -o tsv)
198-
echo "CLIENT_OBJECT_ID=$CLIENT_OBJECT_ID" >> $GITHUB_ENV
199-
200198
201199
202200
- name: Deploy Infra and Import Sample Data
203201
run: |
204202
set -e
205203
az account set --subscription "${{ secrets.AZURE_SUBSCRIPTION_ID }}"
206-
207-
export AZURE_CLIENT_OBJECT_ID=$(az ad sp show --id ${{ secrets.AZURE_CLIENT_ID }} --query id -o tsv)
208-
echo "AZURE_CLIENT_OBJECT_ID=$AZURE_CLIENT_OBJECT_ID" >> $GITHUB_ENV
209-
210-
az role assignment create \
211-
--assignee-object-id $AZURE_CLIENT_OBJECT_ID \
212-
--assignee-principal-type ServicePrincipal \
213-
--role "Cognitive Services OpenAI User" \
214-
--scope /subscriptions/${{ secrets.AZURE_SUBSCRIPTION_ID }}/resourceGroups/${{ env.RG_NAME }}/providers/Microsoft.CognitiveServices/accounts/${{ env.AI_FOUNDARY_NAME }}
215-
216-
sleep 30
217-
218-
az role assignment create \
219-
--assignee-object-id $AZURE_CLIENT_OBJECT_ID \
220-
--assignee-principal-type ServicePrincipal \
221-
--role "Search Index Data Contributor" \
222-
--scope /subscriptions/${{ secrets.AZURE_SUBSCRIPTION_ID }}/resourceGroups/${{ env.RG_NAME }}/providers/Microsoft.Search/searchServices/${{ env.SEARCH_SERVICE_NAME }}
223204
224205
echo "Running post-deployment script..."
206+
225207
bash ./infra/scripts/add_cosmosdb_access.sh \
226208
"${{ env.RG_NAME }}" \
227209
"${{ env.COSMOS_DB_ACCOUNT_NAME }}" \
228210
"${{ secrets.AZURE_CLIENT_ID }}"
211+
229212
bash ./infra/scripts/copy_kb_files.sh \
230213
"${{ env.STORAGE_ACCOUNT }}" \
231214
"${{ env.STORAGE_CONTAINER }}" \
232215
"" \
233216
"${{ secrets.AZURE_CLIENT_ID }}"
217+
234218
bash ./infra/scripts/run_create_index_scripts.sh \
235219
"${{ env.KEYVAULT_NAME }}" \
236220
"" \
237221
"${{ secrets.AZURE_CLIENT_ID }}" \
238222
"${{ env.RG_NAME }}" \
239-
"${{ env.SQL_SERVER }}"
223+
"${{ env.SQL_SERVER }}" \
224+
"${{ env.AI_FOUNDARY_NAME }}" \
225+
"${{ env.SEARCH_SERVICE_NAME }}" \
226+
"${{ env.RESOURCE_GROUP_NAME_FOUNDRY }}"
240227
241228
242229
user_roles_json='[

.github/workflows/test_automation.yml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
name: Test Automation ClientAdvisor
22

33
on:
4-
push:
5-
branches:
6-
- main
7-
- dev
8-
9-
paths:
10-
- 'tests/e2e-test/**'
11-
schedule:
12-
- cron: '0 13 * * *' # Runs at 1 PM UTC
13-
workflow_dispatch:
4+
145
workflow_call:
156
inputs:
167
CA_WEB_URL:
178
required: true
189
type: string
10+
secrets:
11+
EMAILNOTIFICATION_LOGICAPP_URL_TA:
12+
required: false
13+
description: "Logic App URL for email notifications"
1914

2015
env:
2116
url: ${{ inputs.CA_WEB_URL }}

0 commit comments

Comments
 (0)