Skip to content

Commit 20d773e

Browse files
Merge pull request #254 from microsoft/dev
chore: Dev merge to Main
2 parents 2870a21 + 8208fe3 commit 20d773e

37 files changed

Lines changed: 5164 additions & 4307 deletions

.github/workflows/Create-Release..yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,9 @@ jobs:
1414
runs-on: ubuntu-latest
1515
steps:
1616
- name: Checkout
17-
uses: actions/checkout@v4
18-
with:
19-
ref: ${{ github.event.workflow_run.head_sha }}
17+
uses: actions/checkout@v6
2018

21-
- uses: codfish/semantic-release-action@v3
19+
- uses: codfish/semantic-release-action@v5
2220
id: semantic
2321
with:
2422
tag-format: 'v${version}'

.github/workflows/azd-template-validation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
env:
1919
GH_TOKEN: ${{ github.token }}
2020
steps:
21-
- uses: actions/checkout@v4
21+
- uses: actions/checkout@v6
2222

2323
- name: Set timestamp
2424
run: echo "HHMM=$(date -u +'%H%M')" >> $GITHUB_ENV

.github/workflows/azure-dev.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
2020
steps:
2121
- name: Checkout Code
22-
uses: actions/checkout@v4
22+
uses: actions/checkout@v6
2323

2424
- name: Set timestamp and env name
2525
shell: bash

.github/workflows/broken-links-checker.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,15 @@ jobs:
1616

1717
steps:
1818
- name: Checkout Repo
19-
uses: actions/checkout@v4
19+
uses: actions/checkout@v6
2020
with:
2121
fetch-depth: 0
2222

2323
# For PR : Get only changed markdown files
2424
- name: Get changed markdown files (PR only)
2525
id: changed-markdown-files
2626
if: github.event_name == 'pull_request'
27-
uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46
27+
uses: tj-actions/changed-files@22103cc46bda19c2b464ffe86db46df6922fd323 # v47.0.5
2828
with:
2929
files: |
3030
**/*.md
@@ -34,7 +34,7 @@ jobs:
3434
- name: Check Broken Links in Changed Markdown Files
3535
id: lychee-check-pr
3636
if: github.event_name == 'pull_request' && steps.changed-markdown-files.outputs.any_changed == 'true'
37-
uses: lycheeverse/lychee-action@v2.4.1
37+
uses: lycheeverse/lychee-action@v2.8.0
3838
with:
3939
args: >
4040
--verbose --exclude-mail --no-progress --exclude ^https?://
@@ -47,7 +47,7 @@ jobs:
4747
- name: Check Broken Links in All Markdown Files in Entire Repo (Manual Trigger)
4848
id: lychee-check-manual
4949
if: github.event_name == 'workflow_dispatch'
50-
uses: lycheeverse/lychee-action@v2.4.1
50+
uses: lycheeverse/lychee-action@v2.8.0
5151
with:
5252
args: >
5353
--verbose --exclude-mail --no-progress --exclude ^https?://

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
DEPLOYMENT_SUCCESS: ${{ steps.deployment_status.outputs.SUCCESS }}
4242
steps:
4343
- name: Checkout Code
44-
uses: actions/checkout@v4
44+
uses: actions/checkout@v6
4545

4646
- name: Login to Azure
4747
uses: azure/login@v2

.github/workflows/deploy-orchestrator.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ on:
2222
required: false
2323
default: false
2424
type: boolean
25+
enable_scalability:
26+
description: 'Enable Scalability (WAF only, opt-in)'
27+
required: false
28+
default: false
29+
type: boolean
2530
EXP:
2631
description: 'Enable EXP'
2732
required: false
@@ -78,6 +83,7 @@ jobs:
7883
azure_location: ${{ inputs.azure_location }}
7984
resource_group_name: ${{ inputs.resource_group_name }}
8085
waf_enabled: ${{ inputs.waf_enabled }}
86+
enable_scalability: ${{ inputs.enable_scalability }}
8187
EXP: ${{ inputs.EXP }}
8288
build_docker_image: ${{ inputs.build_docker_image }}
8389
existing_webapp_url: ${{ inputs.existing_webapp_url }}

.github/workflows/deploy-v2.yml

Lines changed: 33 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -43,59 +43,67 @@ on:
4343
- 'Local'
4444
default: 'codespace'
4545
azure_location:
46-
description: 'Azure Location For Deployment'
46+
description: 'Azure Region (Non-AI Services)'
4747
required: false
4848
default: 'australiaeast'
4949
type: choice
5050
options:
5151
- 'australiaeast'
5252
- 'centralus'
5353
- 'eastasia'
54+
- 'eastus'
5455
- 'eastus2'
5556
- 'japaneast'
5657
- 'northeurope'
5758
- 'southeastasia'
5859
- 'uksouth'
60+
- 'westeurope'
61+
- 'westus3'
5962
resource_group_name:
6063
description: 'Resource Group Name (Optional)'
6164
required: false
6265
default: ''
6366
type: string
67+
build_docker_image:
68+
description: 'Build & Use Custom Images (Optional)'
69+
required: false
70+
default: false
71+
type: boolean
6472

6573
waf_enabled:
66-
description: 'Enable WAF'
74+
description: 'Deploy WAF'
6775
required: false
6876
default: false
6977
type: boolean
70-
EXP:
71-
description: 'Enable EXP'
78+
enable_scalability:
79+
description: 'Enable Scalability (WAF only)'
7280
required: false
7381
default: false
7482
type: boolean
75-
build_docker_image:
76-
description: 'Build And Push Docker Image (Optional)'
83+
EXP:
84+
description: 'Deploy EXP'
7785
required: false
7886
default: false
7987
type: boolean
80-
88+
8189
cleanup_resources:
82-
description: 'Cleanup Deployed Resources'
90+
description: 'Auto Delete RG'
8391
required: false
8492
default: false
8593
type: boolean
86-
94+
8795
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID:
88-
description: 'Log Analytics Workspace Resource ID (Optional)'
96+
description: 'Existing Log Analytics Workspace Resource ID (Optional)'
8997
required: false
9098
default: ''
9199
type: string
92100
AZURE_EXISTING_AIPROJECT_RESOURCE_ID:
93-
description: 'Full Azure AI Project Resource ID (Optional, format: /subscriptions/.../resourceGroups/.../providers/...)'
101+
description: 'Existing AI Project Resource ID (Optional)'
94102
required: false
95103
default: ''
96104
type: string
97105
existing_webapp_url:
98-
description: 'Existing WebApp URL (Skips Deployment)'
106+
description: 'Run Tests Against Existing RG (Provide Web App URL)'
99107
required: false
100108
default: ''
101109
type: string
@@ -109,6 +117,7 @@ jobs:
109117
azure_location: ${{ steps.validate.outputs.azure_location }}
110118
resource_group_name: ${{ steps.validate.outputs.resource_group_name }}
111119
waf_enabled: ${{ steps.validate.outputs.waf_enabled }}
120+
enable_scalability: ${{ steps.validate.outputs.enable_scalability }}
112121
exp: ${{ steps.validate.outputs.exp }}
113122
build_docker_image: ${{ steps.validate.outputs.build_docker_image }}
114123
cleanup_resources: ${{ steps.validate.outputs.cleanup_resources }}
@@ -124,6 +133,7 @@ jobs:
124133
INPUT_AZURE_LOCATION: ${{ github.event.inputs.azure_location }}
125134
INPUT_RESOURCE_GROUP_NAME: ${{ github.event.inputs.resource_group_name }}
126135
INPUT_WAF_ENABLED: ${{ github.event.inputs.waf_enabled }}
136+
INPUT_ENABLE_SCALABILITY: ${{ github.event.inputs.enable_scalability }}
127137
INPUT_EXP: ${{ github.event.inputs.EXP }}
128138
INPUT_BUILD_DOCKER_IMAGE: ${{ github.event.inputs.build_docker_image }}
129139
INPUT_CLEANUP_RESOURCES: ${{ github.event.inputs.cleanup_resources }}
@@ -181,6 +191,15 @@ jobs:
181191
else
182192
echo "✅ waf_enabled: '$WAF_ENABLED' is valid"
183193
fi
194+
195+
# Validate enable_scalability (boolean, opt-in, default false)
196+
ENABLE_SCALABILITY="${INPUT_ENABLE_SCALABILITY:-false}"
197+
if [[ "$ENABLE_SCALABILITY" != "true" && "$ENABLE_SCALABILITY" != "false" ]]; then
198+
echo "❌ ERROR: enable_scalability must be 'true' or 'false', got: '$ENABLE_SCALABILITY'"
199+
VALIDATION_FAILED=true
200+
else
201+
echo "✅ enable_scalability: '$ENABLE_SCALABILITY' is valid"
202+
fi
184203
185204
# Validate EXP (boolean)
186205
EXP_ENABLED="${INPUT_EXP:-false}"
@@ -265,6 +284,7 @@ jobs:
265284
echo "azure_location=$LOCATION" >> $GITHUB_OUTPUT
266285
echo "resource_group_name=$INPUT_RESOURCE_GROUP_NAME" >> $GITHUB_OUTPUT
267286
echo "waf_enabled=$WAF_ENABLED" >> $GITHUB_OUTPUT
287+
echo "enable_scalability=$ENABLE_SCALABILITY" >> $GITHUB_OUTPUT
268288
echo "exp=$EXP_ENABLED" >> $GITHUB_OUTPUT
269289
echo "build_docker_image=$BUILD_DOCKER" >> $GITHUB_OUTPUT
270290
echo "cleanup_resources=$CLEANUP_RESOURCES" >> $GITHUB_OUTPUT
@@ -281,6 +301,7 @@ jobs:
281301
azure_location: ${{ needs.validate-inputs.outputs.azure_location || 'australiaeast' }}
282302
resource_group_name: ${{ needs.validate-inputs.outputs.resource_group_name || '' }}
283303
waf_enabled: ${{ needs.validate-inputs.outputs.waf_enabled == 'true' }}
304+
enable_scalability: ${{ needs.validate-inputs.outputs.enable_scalability == 'true' }}
284305
EXP: ${{ needs.validate-inputs.outputs.exp == 'true' }}
285306
build_docker_image: ${{ needs.validate-inputs.outputs.build_docker_image == 'true' }}
286307
cleanup_resources: ${{ needs.validate-inputs.outputs.cleanup_resources == 'true' }}

.github/workflows/docker-build-and-push.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ jobs:
3232

3333
steps:
3434
- name: Checkout repository
35-
uses: actions/checkout@v4
35+
uses: actions/checkout@v6
3636

3737
- name: Set up Docker Buildx
38-
uses: docker/setup-buildx-action@v3
38+
uses: docker/setup-buildx-action@v4
3939

4040
- name: Get current date
4141
id: date
@@ -87,7 +87,7 @@ jobs:
8787
echo "Base tag: $BASE_TAG, Date tag: $DATE_TAG"
8888
8989
- name: Build and Push ContentProcessorAPI Docker image
90-
uses: docker/build-push-action@v6
90+
uses: docker/build-push-action@v7
9191
with:
9292
context: ./src/backend-api
9393
file: ./src/backend-api/Dockerfile
@@ -98,7 +98,7 @@ jobs:
9898
${{ steps.registry.outputs.ext_registry }}/backend-api:${{ env.DATE_TAG }}
9999
100100
- name: Build and Push ContentProcessor Docker image
101-
uses: docker/build-push-action@v6
101+
uses: docker/build-push-action@v7
102102
with:
103103
context: ./src/processor
104104
file: ./src/processor/Dockerfile
@@ -109,7 +109,7 @@ jobs:
109109
${{ steps.registry.outputs.ext_registry }}/processor:${{ env.DATE_TAG }}
110110
111111
- name: Build and Push ContentProcessorWeb Docker image
112-
uses: docker/build-push-action@v6
112+
uses: docker/build-push-action@v7
113113
with:
114114
context: ./src/frontend
115115
file: ./src/frontend/Dockerfile

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ jobs:
181181
echo "✅ All input parameters validated successfully!"
182182
183183
- name: Checkout Code
184-
uses: actions/checkout@v4
184+
uses: actions/checkout@v6
185185

186186
- name: Setup Azure Developer CLI
187187
uses: Azure/setup-azd@v2

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

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ on:
2828
required: false
2929
type: string
3030
default: 'false'
31+
ENABLE_SCALABILITY:
32+
description: 'Enable Scalability (WAF only, opt-in)'
33+
required: false
34+
type: string
35+
default: 'false'
3136
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID:
3237
required: false
3338
type: string
@@ -182,16 +187,32 @@ jobs:
182187
echo "✅ All input parameters validated successfully!"
183188
184189
- name: Checkout Code
185-
uses: actions/checkout@v4
190+
uses: actions/checkout@v6
186191

187192
- name: Configure Parameters Based on WAF Setting
188193
shell: bash
189194
env:
190-
WAF_ENABLED: ${{ inputs.WAF_ENABLED }}
195+
INPUT_WAF_ENABLED: ${{ inputs.WAF_ENABLED }}
196+
INPUT_ENABLE_SCALABILITY: ${{ inputs.ENABLE_SCALABILITY }}
191197
run: |
192-
if [[ "$WAF_ENABLED" == "true" ]]; then
198+
set -euo pipefail
199+
if [[ "$INPUT_WAF_ENABLED" == "true" ]]; then
193200
cp infra/main.waf.parameters.json infra/main.parameters.json
194201
echo "✅ Successfully copied WAF parameters to main parameters file"
202+
SCALABILITY_VALUE="${INPUT_ENABLE_SCALABILITY:-false}"
203+
if [[ "$SCALABILITY_VALUE" != "true" && "$SCALABILITY_VALUE" != "false" ]]; then
204+
echo "❌ ERROR: ENABLE_SCALABILITY must be 'true' or 'false', got: '$SCALABILITY_VALUE'"
205+
exit 1
206+
fi
207+
echo "🔧 Setting enableScalability=${SCALABILITY_VALUE}"
208+
tmpfile=$(mktemp)
209+
if ! jq --argjson v "$SCALABILITY_VALUE" '.parameters.enableScalability.value = $v' infra/main.parameters.json > "$tmpfile"; then
210+
echo "❌ ERROR: jq failed to update enableScalability in infra/main.parameters.json"
211+
rm -f "$tmpfile"
212+
exit 1
213+
fi
214+
mv "$tmpfile" infra/main.parameters.json
215+
echo "✅ enableScalability set to ${SCALABILITY_VALUE}"
195216
else
196217
echo "🔧 Configuring Non-WAF deployment - using default main.parameters.json..."
197218
fi

0 commit comments

Comments
 (0)