Skip to content

Commit df39823

Browse files
Refactor workflow files to version 2 and simplify secret management
1 parent 3933849 commit df39823

7 files changed

Lines changed: 24 additions & 164 deletions

.github/workflows/deploy-orchestrator.yml

Lines changed: 5 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Reusable Deployment Workflow
1+
name: Deployment orchestrator v2
22

33
on:
44
workflow_call:
@@ -61,34 +61,6 @@ on:
6161
description: 'Trigger type (workflow_dispatch, pull_request, schedule)'
6262
required: true
6363
type: string
64-
secrets:
65-
AZURE_CLIENT_ID:
66-
required: true
67-
AZURE_CLIENT_SECRET:
68-
required: true
69-
AZURE_TENANT_ID:
70-
required: true
71-
AZURE_SUBSCRIPTION_ID:
72-
required: true
73-
ACR_TEST_LOGIN_SERVER:
74-
required: true
75-
ACR_TEST_USERNAME:
76-
required: true
77-
ACR_TEST_PASSWORD:
78-
required: true
79-
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
80-
required: false
81-
AZURE_ENV_FOUNDRY_PROJECT_ID:
82-
required: false
83-
EMAILNOTIFICATION_LOGICAPP_URL_TA:
84-
required: false
85-
outputs:
86-
CONTAINER_WEB_APPURL:
87-
description: "Container Web App URL"
88-
value: ${{ jobs.deploy.outputs.CONTAINER_WEB_APPURL }}
89-
RESOURCE_GROUP_NAME:
90-
description: "Resource Group Name"
91-
value: ${{ jobs.deploy.outputs.RESOURCE_GROUP_NAME }}
9264

9365
env:
9466
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
@@ -99,10 +71,7 @@ jobs:
9971
with:
10072
trigger_type: ${{ inputs.trigger_type }}
10173
build_docker_image: ${{ inputs.build_docker_image }}
102-
secrets:
103-
ACR_TEST_LOGIN_SERVER: ${{ secrets.ACR_TEST_LOGIN_SERVER }}
104-
ACR_TEST_USERNAME: ${{ secrets.ACR_TEST_USERNAME }}
105-
ACR_TEST_PASSWORD: ${{ secrets.ACR_TEST_PASSWORD }}
74+
secrets: inherit
10675

10776
deploy:
10877
if: always() && (inputs.trigger_type != 'workflow_dispatch' || inputs.existing_webapp_url == '' || inputs.existing_webapp_url == null)
@@ -120,14 +89,7 @@ jobs:
12089
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
12190
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
12291
docker_image_tag: ${{ needs.docker-build.outputs.IMAGE_TAG }}
123-
secrets:
124-
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
125-
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
126-
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
127-
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
128-
ACR_TEST_LOGIN_SERVER: ${{ secrets.ACR_TEST_LOGIN_SERVER }}
129-
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ secrets.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
130-
AZURE_ENV_FOUNDRY_PROJECT_ID: ${{ secrets.AZURE_ENV_FOUNDRY_PROJECT_ID }}
92+
secrets: inherit
13193

13294
e2e-test:
13395
if: always() && ((needs.deploy.result == 'success' && needs.deploy.outputs.CONTAINER_WEB_APPURL != '') || (inputs.existing_webapp_url != '' && inputs.existing_webapp_url != null)) && (inputs.trigger_type != 'workflow_dispatch' || (inputs.run_e2e_tests != 'None' && inputs.run_e2e_tests != '' && inputs.run_e2e_tests != null))
@@ -155,8 +117,7 @@ jobs:
155117
QUOTA_FAILED: ${{ needs.deploy.outputs.QUOTA_FAILED }}
156118
TEST_SUCCESS: ${{ needs.e2e-test.outputs.TEST_SUCCESS }}
157119
TEST_REPORT_URL: ${{ needs.e2e-test.outputs.TEST_REPORT_URL }}
158-
secrets:
159-
EMAILNOTIFICATION_LOGICAPP_URL_TA: ${{ secrets.EMAILNOTIFICATION_LOGICAPP_URL_TA }}
120+
secrets: inherit
160121

161122
cleanup-deployment:
162123
if: always() && needs.deploy.result == 'success' && needs.deploy.outputs.RESOURCE_GROUP_NAME != '' && inputs.existing_webapp_url == '' && (inputs.trigger_type != 'workflow_dispatch' || inputs.cleanup_resources == true || inputs.cleanup_resources == null)
@@ -172,8 +133,4 @@ jobs:
172133
AZURE_ENV_OPENAI_LOCATION: ${{ needs.deploy.outputs.AZURE_ENV_OPENAI_LOCATION }}
173134
ENV_NAME: ${{ needs.deploy.outputs.ENV_NAME }}
174135
IMAGE_TAG: ${{ needs.deploy.outputs.IMAGE_TAG }}
175-
secrets:
176-
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
177-
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
178-
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
179-
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
136+
secrets: inherit

.github/workflows/job-cleanup-deployment.yml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Cleanup Deployment Job
1+
name: Cleanup Deployment Job v2
22

33
on:
44
workflow_call:
@@ -41,15 +41,6 @@ on:
4141
description: 'Docker Image Tag'
4242
required: true
4343
type: string
44-
secrets:
45-
AZURE_CLIENT_ID:
46-
required: true
47-
AZURE_CLIENT_SECRET:
48-
required: true
49-
AZURE_TENANT_ID:
50-
required: true
51-
AZURE_SUBSCRIPTION_ID:
52-
required: true
5344

5445
jobs:
5546
cleanup-deployment:
@@ -109,7 +100,7 @@ jobs:
109100
echo "" >> $GITHUB_STEP_SUMMARY
110101
echo "| Field | Value |" >> $GITHUB_STEP_SUMMARY
111102
echo "|-------|--------|" >> $GITHUB_STEP_SUMMARY
112-
echo "| **Resouce Group deletion Status** | ${{ steps.delete_rg.outcome == 'success' && '✅ Initiated' || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY
103+
echo "| **Resource Group deletion Status** | ${{ steps.delete_rg.outcome == 'success' && '✅ Initiated' || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY
113104
echo "| **Resource Group** | \`${{ env.RESOURCE_GROUP_NAME }}\` |" >> $GITHUB_STEP_SUMMARY
114105
echo "" >> $GITHUB_STEP_SUMMARY
115106
if [[ "${{ steps.delete_rg.outcome }}" == "success" ]]; then

.github/workflows/job-deploy-linux.yml

Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Deploy Steps - Linux
1+
name: Deploy Steps - Linux v2
22

33
on:
44
workflow_call:
@@ -34,39 +34,18 @@ on:
3434
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID:
3535
required: false
3636
type: string
37-
secrets:
38-
AZURE_CLIENT_ID:
39-
required: true
40-
AZURE_CLIENT_SECRET:
41-
required: true
42-
AZURE_TENANT_ID:
43-
required: true
44-
AZURE_SUBSCRIPTION_ID:
45-
required: true
46-
ACR_TEST_LOGIN_SERVER:
47-
required: true
48-
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
49-
required: false
50-
AZURE_ENV_FOUNDRY_PROJECT_ID:
51-
required: false
5237
outputs:
5338
CONTAINER_WEB_APPURL:
5439
description: "Container Web App URL"
5540
value: ${{ jobs.deploy-linux.outputs.CONTAINER_WEB_APPURL }}
56-
invoice_schema_id:
57-
description: "Invoice Schema ID"
58-
value: ${{ jobs.deploy-linux.outputs.invoice_schema_id }}
59-
propertydamageclaimform_schema_id:
60-
description: "Property Damage Claim Form Schema ID"
61-
value: ${{ jobs.deploy-linux.outputs.propertydamageclaimform_schema_id }}
6241

6342
jobs:
6443
deploy-linux:
6544
runs-on: ubuntu-latest
45+
env:
46+
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
6647
outputs:
6748
CONTAINER_WEB_APPURL: ${{ steps.get_output_linux.outputs.CONTAINER_WEB_APPURL }}
68-
invoice_schema_id: ${{ steps.register_linux.outputs.invoice_schema_id }}
69-
propertydamageclaimform_schema_id: ${{ steps.register_linux.outputs.propertylossdamageclaimform_schema_id }}
7049
steps:
7150
- name: Checkout Code
7251
uses: actions/checkout@v4
@@ -237,7 +216,6 @@ jobs:
237216
echo "| **Azure Region (Infrastructure)** | \`${{ inputs.AZURE_LOCATION }}\` |" >> $GITHUB_STEP_SUMMARY
238217
echo "| **Azure OpenAI Region** | \`${{ inputs.AZURE_ENV_OPENAI_LOCATION }}\` |" >> $GITHUB_STEP_SUMMARY
239218
echo "| **Docker Image Tag** | \`${{ inputs.IMAGE_TAG }}\` |" >> $GITHUB_STEP_SUMMARY
240-
echo "| **Environment Name** | \`${{ inputs.ENV_NAME }}\` |" >> $GITHUB_STEP_SUMMARY
241219
echo "" >> $GITHUB_STEP_SUMMARY
242220
if [[ "${{ job.status }}" == "success" ]]; then
243221
echo "### ✅ Deployment Details" >> $GITHUB_STEP_SUMMARY

.github/workflows/job-deploy-windows.yml

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Deploy Steps - Windows
1+
name: Deploy Steps - Windows v2
22

33
on:
44
workflow_call:
@@ -34,39 +34,18 @@ on:
3434
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID:
3535
required: false
3636
type: string
37-
secrets:
38-
AZURE_CLIENT_ID:
39-
required: true
40-
AZURE_CLIENT_SECRET:
41-
required: true
42-
AZURE_TENANT_ID:
43-
required: true
44-
AZURE_SUBSCRIPTION_ID:
45-
required: true
46-
ACR_TEST_LOGIN_SERVER:
47-
required: true
48-
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
49-
required: false
50-
AZURE_ENV_FOUNDRY_PROJECT_ID:
51-
required: false
5237
outputs:
5338
CONTAINER_WEB_APPURL:
5439
description: "Container Web App URL"
5540
value: ${{ jobs.deploy-windows.outputs.CONTAINER_WEB_APPURL }}
56-
invoice_schema_id:
57-
description: "Invoice Schema ID"
58-
value: ${{ jobs.deploy-windows.outputs.invoice_schema_id }}
59-
propertydamageclaimform_schema_id:
60-
description: "Property Damage Claim Form Schema ID"
61-
value: ${{ jobs.deploy-windows.outputs.propertydamageclaimform_schema_id }}
6241

6342
jobs:
6443
deploy-windows:
6544
runs-on: windows-latest
45+
env:
46+
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
6647
outputs:
6748
CONTAINER_WEB_APPURL: ${{ steps.get_output_windows.outputs.CONTAINER_WEB_APPURL }}
68-
invoice_schema_id: ${{ steps.register_windows.outputs.invoice_schema_id }}
69-
propertydamageclaimform_schema_id: ${{ steps.register_windows.outputs.propertylossdamageclaimform_schema_id }}
7049
steps:
7150
- name: Checkout Code
7251
uses: actions/checkout@v4

.github/workflows/job-deploy.yml

Lines changed: 9 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Deploy Job
1+
name: Deploy Job v2
22

33
on:
44
workflow_call:
@@ -66,28 +66,7 @@ on:
6666
required: false
6767
default: ''
6868
type: string
69-
secrets:
70-
AZURE_CLIENT_ID:
71-
required: true
72-
AZURE_CLIENT_SECRET:
73-
required: true
74-
AZURE_TENANT_ID:
75-
required: true
76-
AZURE_SUBSCRIPTION_ID:
77-
required: true
78-
ACR_TEST_LOGIN_SERVER:
79-
required: true
80-
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
81-
required: false
82-
AZURE_ENV_FOUNDRY_PROJECT_ID:
83-
required: false
8469
outputs:
85-
invoice_schema_id:
86-
description: "Invoice Schema ID"
87-
value: ${{ jobs.deploy-linux.outputs.invoice_schema_id || jobs.deploy-windows.outputs.invoice_schema_id }}
88-
propertydamageclaimform_schema_id:
89-
description: "Property Damage Claim Form Schema ID"
90-
value: ${{ jobs.deploy-linux.outputs.propertydamageclaimform_schema_id || jobs.deploy-windows.outputs.propertydamageclaimform_schema_id }}
9170
RESOURCE_GROUP_NAME:
9271
description: "Resource Group Name"
9372
value: ${{ jobs.azure-setup.outputs.RESOURCE_GROUP_NAME }}
@@ -289,9 +268,9 @@ jobs:
289268
IMAGE_TAG="demo"
290269
echo "Using demo branch - image tag: demo"
291270
elif [[ "$BRANCH_NAME" == "hotfix" ]]; then
292-
BASE_TAG="hotfix"
271+
IMAGE_TAG="hotfix"
293272
elif [[ "$BRANCH_NAME" == "dependabotchanges" ]]; then
294-
BASE_TAG="dependabotchanges"
273+
IMAGE_TAG="dependabotchanges"
295274
else
296275
IMAGE_TAG="latest"
297276
echo "Using default for branch '$BRANCH_NAME' - image tag: latest"
@@ -360,19 +339,12 @@ jobs:
360339
AZURE_LOCATION: ${{ needs.azure-setup.outputs.AZURE_LOCATION }}
361340
RESOURCE_GROUP_NAME: ${{ needs.azure-setup.outputs.RESOURCE_GROUP_NAME }}
362341
IMAGE_TAG: ${{ needs.azure-setup.outputs.IMAGE_TAG }}
363-
BUILD_DOCKER_IMAGE: ${{ github.event.inputs.build_docker_image || 'false' }}
364-
EXP: ${{ github.event.inputs.EXP || 'false' }}
342+
BUILD_DOCKER_IMAGE: ${{ inputs.build_docker_image || 'false' }}
343+
EXP: ${{ inputs.EXP || 'false' }}
365344
WAF_ENABLED: ${{ inputs.waf_enabled == true && 'true' || 'false' }}
366345
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
367346
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
368-
secrets:
369-
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
370-
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
371-
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
372-
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
373-
ACR_TEST_LOGIN_SERVER: ${{ secrets.ACR_TEST_LOGIN_SERVER }}
374-
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ secrets.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
375-
AZURE_ENV_FOUNDRY_PROJECT_ID: ${{ secrets.AZURE_ENV_FOUNDRY_PROJECT_ID }}
347+
secrets: inherit
376348

377349
deploy-windows:
378350
name: Deploy on Windows
@@ -385,16 +357,9 @@ jobs:
385357
AZURE_LOCATION: ${{ needs.azure-setup.outputs.AZURE_LOCATION }}
386358
RESOURCE_GROUP_NAME: ${{ needs.azure-setup.outputs.RESOURCE_GROUP_NAME }}
387359
IMAGE_TAG: ${{ needs.azure-setup.outputs.IMAGE_TAG }}
388-
BUILD_DOCKER_IMAGE: ${{ github.event.inputs.build_docker_image || 'false' }}
389-
EXP: ${{ github.event.inputs.EXP || 'false' }}
360+
BUILD_DOCKER_IMAGE: ${{ inputs.build_docker_image || 'false' }}
361+
EXP: ${{ inputs.EXP || 'false' }}
390362
WAF_ENABLED: ${{ inputs.waf_enabled == true && 'true' || 'false' }}
391363
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
392364
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
393-
secrets:
394-
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
395-
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
396-
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
397-
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
398-
ACR_TEST_LOGIN_SERVER: ${{ secrets.ACR_TEST_LOGIN_SERVER }}
399-
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ secrets.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
400-
AZURE_ENV_FOUNDRY_PROJECT_ID: ${{ secrets.AZURE_ENV_FOUNDRY_PROJECT_ID }}
365+
secrets: inherit

.github/workflows/job-docker-build.yml

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Docker Build Job
1+
name: Docker Build Job v2
22

33
on:
44
workflow_call:
@@ -12,13 +12,6 @@ on:
1212
required: false
1313
default: false
1414
type: boolean
15-
secrets:
16-
ACR_TEST_LOGIN_SERVER:
17-
required: true
18-
ACR_TEST_USERNAME:
19-
required: true
20-
ACR_TEST_PASSWORD:
21-
required: true
2215
outputs:
2316
IMAGE_TAG:
2417
description: "Generated Docker Image Tag"

.github/workflows/job-send-notification.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Send Notification Job
1+
name: Send Notification Job v2
22

33
on:
44
workflow_call:
@@ -60,9 +60,6 @@ on:
6060
required: false
6161
default: ''
6262
type: string
63-
secrets:
64-
EMAILNOTIFICATION_LOGICAPP_URL_TA:
65-
required: false
6663

6764
env:
6865
GPT_MIN_CAPACITY: 100

0 commit comments

Comments
 (0)