Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
e38e28d
Added unit test
Prachig-Microsoft Mar 25, 2026
b60d462
Update test.yml to run unit test cases for all backend folders
Prachig-Microsoft Mar 25, 2026
8ce472a
Updated test.yml file
Prachig-Microsoft Mar 25, 2026
c5e0434
Made changes in text.yml for Workflow dependencies
Prachig-Microsoft Mar 25, 2026
beac95b
standardize bicep resource parameters and azd env-var
Harsh-Microsoft Mar 26, 2026
83cd190
Apply suggestions from code review
Harsh-Microsoft Mar 27, 2026
e0f8c0e
Merge branch 'psl-cps-v2' into hb-psl-us-37608-v2
Harsh-Microsoft Mar 27, 2026
2384c09
update gptModelVersion and clarify documentation for Log Analytics Wo…
Harsh-Microsoft Mar 27, 2026
1d25a1c
Apply suggestions from code review
Harsh-Microsoft Mar 27, 2026
2586f1a
Fix variable name for Log Analytics Workspace Resource ID in EXP vali…
Harsh-Microsoft Mar 27, 2026
a6a356f
Apply suggestions from code review
Harsh-Microsoft Mar 27, 2026
fd15db9
Update GPT model version and deployment capacity; add RG_TAGS for res…
Vamshi-Microsoft Mar 27, 2026
6533868
Merge pull request #479 from microsoft/psl-cps-v2
Prajwal-Microsoft Mar 30, 2026
8faa550
Merge pull request #495 from microsoft/psl-cps-v2
Prajwal-Microsoft Mar 30, 2026
7f3d3c7
feat: Add weekly schedule for Azure Template validation,split azure-d…
VishalS-Microsoft Mar 31, 2026
22dc2ca
Merge branch 'psl-cps-v2' into hb-psl-us-37608-v2
Harsh-Microsoft Mar 31, 2026
1dc1ec9
fix: Update environment variable for AI deployments location in azure…
VishalS-Microsoft Mar 31, 2026
b380b4b
feat: Add AZURE_ENV_MODEL_CAPACITY to Azure Dev Deploy workflow
VishalS-Microsoft Mar 31, 2026
5961173
fix: Update GITHUB_TOKEN secret reference in azd-template-validation.yml
VishalS-Microsoft Mar 31, 2026
ca0a186
ci: Add Bicep Parameter Validation Workflow and Script
Harsh-Microsoft Mar 31, 2026
8d7f989
fix: Update workflow triggers and notification conditions in validate…
Harsh-Microsoft Mar 31, 2026
86c3682
fix: Update Bicep validation workflow and script for improved error h…
Harsh-Microsoft Mar 31, 2026
ea19139
Update infra/scripts/validate_bicep_params.py
Harsh-Microsoft Mar 31, 2026
757f3d7
fix post deployment script
Mar 31, 2026
410cc4c
Merge pull request #498 from microsoft/dev
aniaroramsft Mar 31, 2026
1e7e45b
add .env for vscode web
Mar 31, 2026
b87a14b
Merge pull request #508 from microsoft/fix-vscode-web-deployment
Prajwal-Microsoft Mar 31, 2026
3b7b09d
fix: Remove push trigger and refine schedule notification conditions …
Harsh-Microsoft Apr 1, 2026
98028e3
Merge branch 'hb-psl-38859' of https://github.com/microsoft/content-p…
Harsh-Microsoft Apr 1, 2026
13c027d
Update infra/scripts/validate_bicep_params.py
Harsh-Microsoft Apr 1, 2026
101aa47
fix: Remove push trigger for psl-weeklyschedule-cps branch in Azure D…
VishalS-Microsoft Apr 1, 2026
65656cd
fix: Update Bicep validation workflow to include push trigger and sim…
Harsh-Microsoft Apr 1, 2026
b9459b6
fix: Remove push trigger from Bicep validation workflow and refine no…
Harsh-Microsoft Apr 1, 2026
09f8114
Update infra/scripts/validate_bicep_params.py
Harsh-Microsoft Apr 1, 2026
eebde0d
fix: Add AZURE_EXISTING_AIPROJECT_RESOURCE_ID to exempt environment v…
Harsh-Microsoft Apr 1, 2026
642a361
Merge branch 'dev' into psl-weeklyschedule-cps
VishalS-Microsoft Apr 1, 2026
432a454
refactor: Rename Log Analytics Workspace and Foundry Project paramete…
Harsh-Microsoft Apr 1, 2026
eb6a30e
fix: Update secret references for Log Analytics Workspace and Foundry…
Harsh-Microsoft Apr 1, 2026
3ba61cd
fix: Remove push trigger for psl-weeklyschedule-cps branch in AZD tem…
VishalS-Microsoft Apr 2, 2026
c73397c
fix: Update push trigger configuration for psl-weeklyschedule-cps bra…
VishalS-Microsoft Apr 2, 2026
9f8b5ec
fix: Remove push trigger for psl-weeklyschedule-cps branch in azd-tem…
VishalS-Microsoft Apr 2, 2026
d0018f4
fix: Update timestamp handling and environment name in workflow files
VishalS-Microsoft Apr 2, 2026
375e0fd
fix: Remove push trigger for psl-weeklyschedule-cps branch in azd-tem…
VishalS-Microsoft Apr 2, 2026
3205574
Merge pull request #499 from microsoft/hb-psl-38859
Roopan-Microsoft Apr 3, 2026
8494f46
Merge pull request #472 from microsoft/hb-psl-us-37608-v2
Roopan-Microsoft Apr 3, 2026
774da96
Add troubleshooot for 403 - content understanding
Shreyas-Microsoft Apr 3, 2026
70a2d6f
Merge pull request #519 from microsoft/dev
Prajwal-Microsoft Apr 6, 2026
50eb375
Filter the paths for pipeline run
Prekshith-Microsoft Apr 6, 2026
31c478a
Refcator Pipeline
Vamshi-Microsoft Apr 7, 2026
348e9d6
rename pipeline
Vamshi-Microsoft Apr 7, 2026
7b362d0
feat: Add runner_os input option for deployment environment in workflow
Vamshi-Microsoft Apr 7, 2026
b2782f4
Add cognitive services account refresh step to post-deployment script
Shreyas-Microsoft Apr 7, 2026
5eb8592
update refresh command to not put all the json
Shreyas-Microsoft Apr 7, 2026
d83f7b0
Merge pull request #500 from microsoft/psl-fix-post-deployment-script
Prajwal-Microsoft Apr 8, 2026
61807b0
Merge pull request #518 from microsoft/psl-weeklyschedule-cps
Prajwal-Microsoft Apr 8, 2026
c86d72d
fix: Update workflow configurations to correct environment variable n…
VishalS-Microsoft Apr 8, 2026
60ae1c5
chore: remove unused axios dependency from ContentProcessorWeb
Abdul-Microsoft Apr 8, 2026
7153938
fix: Remove push trigger from workflow configuration
VishalS-Microsoft Apr 8, 2026
f86687c
Merge pull request #524 from microsoft/psl-pipelinefix-cpsv2
Prajwal-Microsoft Apr 8, 2026
258762f
update ai summary and gap analysis once refresh is clicked
Shreyas-Microsoft Apr 8, 2026
5f9e52b
fix: add bicep version requirement (>= 0.33.0) to azure.yaml
Roopan-Microsoft Apr 9, 2026
e6af68a
fix: Remove create-release.yml path filter changes
Prekshith-Microsoft Apr 9, 2026
56ddc4c
Merge pull request #525 from microsoft/psl-refresh-button
Roopan-Microsoft Apr 9, 2026
0798b57
fix: add bicep version requirement (>= 0.33.0) to azure.yaml
Avijit-Microsoft Apr 9, 2026
2e1f384
Merge pull request #530 from microsoft/feature/remove-axios-39065
Roopan-Microsoft Apr 9, 2026
022ff8b
Integrated Smoke testing automation
Vamshi-Microsoft Apr 9, 2026
175ccee
Update README
Thanusree-Microsoft Apr 9, 2026
55b1200
Update Deployment Guide
Thanusree-Microsoft Apr 9, 2026
6a20bde
fix: Remove --headed option from pytest commands and update screensho…
Vamshi-Microsoft Apr 9, 2026
b975710
Fixed all the code quality issues
Prekshith-Microsoft Apr 9, 2026
bc0c886
Removed unused import sys
Prekshith-Microsoft Apr 9, 2026
dcd20cc
Merge pull request #522 from microsoft/psl-filter-paths
Roopan-Microsoft Apr 9, 2026
e729a8d
Merge pull request #532 from microsoft/psl-SFI
Roopan-Microsoft Apr 10, 2026
5474f83
Merge pull request #533 from microsoft/psl-code-quality
Roopan-Microsoft Apr 10, 2026
7d8b992
added support for deploying local changes
Dhruvkumar-Microsoft Apr 10, 2026
4d1fc86
updated the copilot comments
Dhruvkumar-Microsoft Apr 10, 2026
66f6c82
Merge pull request #534 from microsoft/psl-DeployingLocalChanges
Roopan-Microsoft Apr 14, 2026
1247ab6
Merge branch 'dev' into psl-smoketesting
Vamshi-Microsoft Apr 14, 2026
92f9b50
Resolve pylint issue
Vamshi-Microsoft Apr 14, 2026
8d0dc7e
rename deploy-linux to deploy-v2
Vamshi-Microsoft Apr 14, 2026
4d78576
Merge pull request #541 from microsoft/psl-sm-integration
Prajwal-Microsoft Apr 15, 2026
f2b370e
Merge remote-tracking branch 'origin/dev' into psl-unit-test-cps-v2
Prachig-Microsoft Apr 15, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions .github/workflows/azd-template-validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: AZD Template Validation
on:
schedule:
- cron: '30 1 * * 4' # Every Thursday at 7:00 AM IST (1:30 AM UTC)
workflow_dispatch:

permissions:
contents: read
id-token: write
pull-requests: write

jobs:
template_validation:
runs-on: ubuntu-latest
name: azd template validation
environment: production
steps:
- uses: actions/checkout@v4

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

- uses: microsoft/template-validation-action@v0.4.3
with:
validateAzd: ${{ vars.TEMPLATE_VALIDATE_AZD }}
validateTests: ${{ vars.TEMPLATE_VALIDATE_TESTS }}
useDevContainer: ${{ vars.TEMPLATE_USE_DEV_CONTAINER }}
id: validation
env:
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
AZURE_ENV_NAME: azd-${{ vars.AZURE_ENV_NAME }}-${{ env.HHMM }}
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
AZURE_ENV_AI_SERVICE_LOCATION: ${{ vars.AZURE_LOCATION }}
AZURE_ENV_MODEL_CAPACITY: 1 # keep low to avoid potential quota issues
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: print result
run: cat ${{ steps.validation.outputs.resultFile }}
73 changes: 46 additions & 27 deletions .github/workflows/azure-dev.yaml
Original file line number Diff line number Diff line change
@@ -1,38 +1,57 @@
name: Azure Template Validation
name: Azure Dev Deploy

on:
workflow_dispatch:

permissions:
contents: read
id-token: write
pull-requests: write

jobs:
template_validation_job:
environment: production
deploy:
runs-on: ubuntu-latest
name: Template validation

environment: production
env:
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
AZURE_ENV_NAME: ${{ vars.AZURE_ENV_NAME }}
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
AZURE_ENV_MODEL_CAPACITY: 1 # keep low to avoid potential quota issues
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
steps:
# Step 1: Checkout the code from your repository
- name: Checkout code
uses: actions/checkout@v5

# Step 2: Validate the Azure template using microsoft/template-validation-action
- name: Validate Azure Template
uses: microsoft/template-validation-action@v0.4.3
id: validation
- name: Checkout Code
uses: actions/checkout@v4

- name: Set timestamp and env name
run: |
HHMM=$(date -u +'%H%M')
echo "AZURE_ENV_NAME=azd-${{ vars.AZURE_ENV_NAME }}-${HHMM}" >> $GITHUB_ENV

- name: Install azd
uses: Azure/setup-azd@v2

- name: Login to Azure
uses: azure/login@v2
with:
useDevContainer: false
env:
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
AZURE_ENV_NAME: ${{ secrets.AZURE_ENV_NAME }}
AZURE_LOCATION: ${{ secrets.AZURE_LOCATION }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}

# Step 3: Print the result of the validation
- name: Print result
run: cat ${{ steps.validation.outputs.resultFile }}
client-id: ${{ secrets.AZURE_CLIENT_ID }}
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}

- name: Login to AZD
shell: bash
run: |
azd auth login \
--client-id "$AZURE_CLIENT_ID" \
--federated-credential-provider "github" \
--tenant-id "$AZURE_TENANT_ID"

- name: Provision and Deploy
shell: bash
run: |
if ! azd env select "$AZURE_ENV_NAME"; then
azd env new "$AZURE_ENV_NAME" --subscription "$AZURE_SUBSCRIPTION_ID" --location "$AZURE_LOCATION" --no-prompt
fi
azd config set defaults.subscription "$AZURE_SUBSCRIPTION_ID"
azd env set AZURE_ENV_AI_SERVICE_LOCATION="$AZURE_LOCATION"
azd up --no-prompt
10 changes: 4 additions & 6 deletions .github/workflows/deploy-orchestrator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,8 +42,8 @@ on:
required: false
default: 'GoldenPath-Testing'
type: string
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
description: 'Log Analytics Workspace ID (Optional)'
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID:
description: 'Log Analytics Workspace Resource ID (Optional)'
required: false
default: ''
type: string
Expand All @@ -64,9 +64,7 @@ on:

env:
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
permissions:
contents: read
actions: read

jobs:
docker-build:
uses: ./.github/workflows/job-docker-build.yml
Expand All @@ -88,7 +86,7 @@ jobs:
EXP: ${{ inputs.EXP }}
build_docker_image: ${{ inputs.build_docker_image }}
existing_webapp_url: ${{ inputs.existing_webapp_url }}
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
docker_image_tag: ${{ needs.docker-build.outputs.IMAGE_TAG }}
run_e2e_tests: ${{ inputs.run_e2e_tests }}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Deploy-Test-Cleanup (v2) Linux
name: Deploy-Test-Cleanup (v2)
on:
push:
branches:
Expand All @@ -19,9 +19,17 @@ on:
- 'src/ContentProcessorWeb/config-overrides.js'
- 'src/ContentProcessorWeb/nginx-custom.conf'
- 'src/ContentProcessorWeb/env.sh'
- '.github/workflows/deploy-linux.yml'
- '.github/workflows/deploy-v2.yml'
workflow_dispatch:
inputs:
runner_os:
description: 'Deployment Environment'
required: false
type: choice
options:
- 'codespace'
- 'Local'
default: 'codespace'
azure_location:
description: 'Azure Location For Deployment'
required: false
Expand Down Expand Up @@ -74,8 +82,8 @@ on:
- 'Smoke-Testing'
- 'None'

AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
description: 'Log Analytics Workspace ID (Optional)'
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID:
description: 'Log Analytics Workspace Resource ID (Optional)'
required: false
default: ''
type: string
Expand All @@ -95,19 +103,21 @@ on:
permissions:
contents: read
actions: read
id-token: write
jobs:
validate-inputs:
runs-on: ubuntu-latest
outputs:
validation_passed: ${{ steps.validate.outputs.passed }}
runner_os: ${{ steps.validate.outputs.runner_os }}
azure_location: ${{ steps.validate.outputs.azure_location }}
resource_group_name: ${{ steps.validate.outputs.resource_group_name }}
waf_enabled: ${{ steps.validate.outputs.waf_enabled }}
exp: ${{ steps.validate.outputs.exp }}
build_docker_image: ${{ steps.validate.outputs.build_docker_image }}
cleanup_resources: ${{ steps.validate.outputs.cleanup_resources }}
run_e2e_tests: ${{ steps.validate.outputs.run_e2e_tests }}
azure_env_log_analytics_workspace_id: ${{ steps.validate.outputs.azure_env_log_analytics_workspace_id }}
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ steps.validate.outputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
azure_existing_ai_project_resource_id: ${{ steps.validate.outputs.azure_existing_ai_project_resource_id }}
existing_webapp_url: ${{ steps.validate.outputs.existing_webapp_url }}
steps:
Expand All @@ -122,12 +132,27 @@ jobs:
INPUT_BUILD_DOCKER_IMAGE: ${{ github.event.inputs.build_docker_image }}
INPUT_CLEANUP_RESOURCES: ${{ github.event.inputs.cleanup_resources }}
INPUT_RUN_E2E_TESTS: ${{ github.event.inputs.run_e2e_tests }}
INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ github.event.inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ github.event.inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ github.event.inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
INPUT_EXISTING_WEBAPP_URL: ${{ github.event.inputs.existing_webapp_url }}
INPUT_RUNNER_OS: ${{ github.event.inputs.runner_os }}
run: |
echo "🔍 Validating workflow input parameters..."
VALIDATION_FAILED=false

# Resolve runner_os from Deployment Environment selection
DEPLOY_ENV="${INPUT_RUNNER_OS:-codespace}"
if [[ "$DEPLOY_ENV" == "codespace" ]]; then
RUNNER_OS="ubuntu-latest"
echo "✅ Deployment Environment: 'codespace' → runner: ubuntu-latest"
elif [[ "$DEPLOY_ENV" == "Local" ]]; then
RUNNER_OS="windows-latest"
echo "✅ Deployment Environment: 'Local' → runner: windows-latest"
else
echo "❌ ERROR: Deployment Environment must be 'codespace' or 'Local', got: '$DEPLOY_ENV'"
VALIDATION_FAILED=true
RUNNER_OS="ubuntu-latest"
fi

# Validate azure_location (Azure region format)
LOCATION="${INPUT_AZURE_LOCATION:-australiaeast}"
Expand Down Expand Up @@ -199,18 +224,18 @@ jobs:
echo "✅ run_e2e_tests: '$TEST_OPTION' is valid"
fi

# Validate AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID (optional, Azure Resource ID format)
if [[ -n "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" ]]; then
if [[ ! "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then
echo "❌ ERROR: AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID is invalid. Must be a valid Azure Resource ID format:"
# Validate AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID (optional, Azure Resource ID format)
if [[ -n "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" ]]; then
if [[ ! "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then
echo "❌ ERROR: AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID is invalid. Must be a valid Azure Resource ID format:"
echo " /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}"
echo " Got: '$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID'"
echo " Got: '$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID'"
VALIDATION_FAILED=true
else
echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Valid Resource ID format"
echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Valid Resource ID format"
fi
else
echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Not provided (optional)"
echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Not provided (optional)"
fi

# Validate AZURE_EXISTING_AI_PROJECT_RESOURCE_ID (optional, Azure Resource ID format)
Expand Down Expand Up @@ -251,14 +276,15 @@ jobs:

# Output validated values
echo "passed=true" >> $GITHUB_OUTPUT
echo "runner_os=$RUNNER_OS" >> $GITHUB_OUTPUT
echo "azure_location=$LOCATION" >> $GITHUB_OUTPUT
echo "resource_group_name=$INPUT_RESOURCE_GROUP_NAME" >> $GITHUB_OUTPUT
echo "waf_enabled=$WAF_ENABLED" >> $GITHUB_OUTPUT
echo "exp=$EXP_ENABLED" >> $GITHUB_OUTPUT
echo "build_docker_image=$BUILD_DOCKER" >> $GITHUB_OUTPUT
echo "cleanup_resources=$CLEANUP_RESOURCES" >> $GITHUB_OUTPUT
echo "run_e2e_tests=$TEST_OPTION" >> $GITHUB_OUTPUT
echo "azure_env_log_analytics_workspace_id=$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" >> $GITHUB_OUTPUT
echo "AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID=$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" >> $GITHUB_OUTPUT
echo "azure_existing_ai_project_resource_id=$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID" >> $GITHUB_OUTPUT
echo "existing_webapp_url=$INPUT_EXISTING_WEBAPP_URL" >> $GITHUB_OUTPUT

Expand All @@ -267,15 +293,15 @@ jobs:
if: needs.validate-inputs.outputs.validation_passed == 'true'
uses: ./.github/workflows/deploy-orchestrator.yml
with:
runner_os: ubuntu-latest
runner_os: ${{ needs.validate-inputs.outputs.runner_os || 'ubuntu-latest' }}
azure_location: ${{ needs.validate-inputs.outputs.azure_location || 'australiaeast' }}
resource_group_name: ${{ needs.validate-inputs.outputs.resource_group_name || '' }}
waf_enabled: ${{ needs.validate-inputs.outputs.waf_enabled == 'true' }}
EXP: ${{ needs.validate-inputs.outputs.exp == 'true' }}
build_docker_image: ${{ needs.validate-inputs.outputs.build_docker_image == 'true' }}
cleanup_resources: ${{ needs.validate-inputs.outputs.cleanup_resources == 'true' }}
run_e2e_tests: ${{ needs.validate-inputs.outputs.run_e2e_tests || 'GoldenPath-Testing' }}
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ needs.validate-inputs.outputs.azure_env_log_analytics_workspace_id || '' }}
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ needs.validate-inputs.outputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID || '' }}
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ needs.validate-inputs.outputs.azure_existing_ai_project_resource_id || '' }}
existing_webapp_url: ${{ needs.validate-inputs.outputs.existing_webapp_url || '' }}
trigger_type: ${{ github.event_name }}
Expand Down
27 changes: 14 additions & 13 deletions .github/workflows/deploy-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ on:
- 'Smoke-Testing'
- 'None'

AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
description: 'Log Analytics Workspace ID (Optional)'
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID:
description: 'Log Analytics Workspace Resource ID (Optional)'
required: false
default: ''
type: string
Expand All @@ -78,6 +78,7 @@ on:
permissions:
contents: read
actions: read
id-token: write
jobs:
validate-inputs:
runs-on: ubuntu-latest
Expand All @@ -90,7 +91,7 @@ jobs:
build_docker_image: ${{ steps.validate.outputs.build_docker_image }}
cleanup_resources: ${{ steps.validate.outputs.cleanup_resources }}
run_e2e_tests: ${{ steps.validate.outputs.run_e2e_tests }}
azure_env_log_analytics_workspace_id: ${{ steps.validate.outputs.azure_env_log_analytics_workspace_id }}
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ steps.validate.outputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
azure_existing_ai_project_resource_id: ${{ steps.validate.outputs.azure_existing_ai_project_resource_id }}
existing_webapp_url: ${{ steps.validate.outputs.existing_webapp_url }}
steps:
Expand All @@ -105,7 +106,7 @@ jobs:
INPUT_BUILD_DOCKER_IMAGE: ${{ github.event.inputs.build_docker_image }}
INPUT_CLEANUP_RESOURCES: ${{ github.event.inputs.cleanup_resources }}
INPUT_RUN_E2E_TESTS: ${{ github.event.inputs.run_e2e_tests }}
INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ github.event.inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ github.event.inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ github.event.inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
INPUT_EXISTING_WEBAPP_URL: ${{ github.event.inputs.existing_webapp_url }}
run: |
Expand Down Expand Up @@ -182,18 +183,18 @@ jobs:
echo "✅ run_e2e_tests: '$TEST_OPTION' is valid"
fi

# Validate AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID (optional, Azure Resource ID format)
if [[ -n "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" ]]; then
if [[ ! "$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then
echo "❌ ERROR: AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID is invalid. Must be a valid Azure Resource ID format:"
# Validate AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID (optional, Azure Resource ID format)
if [[ -n "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" ]]; then
if [[ ! "$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" =~ ^/subscriptions/[a-fA-F0-9-]+/[Rr]esource[Gg]roups/[^/]+/providers/[Mm]icrosoft\.[Oo]perational[Ii]nsights/[Ww]orkspaces/[^/]+$ ]]; then
echo "❌ ERROR: AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID is invalid. Must be a valid Azure Resource ID format:"
echo " /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}"
echo " Got: '$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID'"
echo " Got: '$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID'"
VALIDATION_FAILED=true
else
echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Valid Resource ID format"
echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Valid Resource ID format"
fi
else
echo "✅ AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: Not provided (optional)"
echo "✅ AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: Not provided (optional)"
fi

# Validate AZURE_EXISTING_AI_PROJECT_RESOURCE_ID (optional, Azure Resource ID format)
Expand Down Expand Up @@ -241,7 +242,7 @@ jobs:
echo "build_docker_image=$BUILD_DOCKER" >> $GITHUB_OUTPUT
echo "cleanup_resources=$CLEANUP_RESOURCES" >> $GITHUB_OUTPUT
echo "run_e2e_tests=$TEST_OPTION" >> $GITHUB_OUTPUT
echo "azure_env_log_analytics_workspace_id=$INPUT_AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID" >> $GITHUB_OUTPUT
echo "AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID=$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" >> $GITHUB_OUTPUT
echo "azure_existing_ai_project_resource_id=$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID" >> $GITHUB_OUTPUT
echo "existing_webapp_url=$INPUT_EXISTING_WEBAPP_URL" >> $GITHUB_OUTPUT

Expand All @@ -258,7 +259,7 @@ jobs:
build_docker_image: ${{ needs.validate-inputs.outputs.build_docker_image == 'true' }}
cleanup_resources: ${{ needs.validate-inputs.outputs.cleanup_resources == 'true' }}
run_e2e_tests: ${{ needs.validate-inputs.outputs.run_e2e_tests || 'GoldenPath-Testing' }}
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ needs.validate-inputs.outputs.azure_env_log_analytics_workspace_id || '' }}
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ needs.validate-inputs.outputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID || '' }}
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ needs.validate-inputs.outputs.azure_existing_ai_project_resource_id || '' }}
existing_webapp_url: ${{ needs.validate-inputs.outputs.existing_webapp_url || '' }}
trigger_type: ${{ github.event_name }}
Expand Down
Loading
Loading