Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
113 commits
Select commit Hold shift + click to select a range
95f4939
Update logging and custom events
AjitPadhi-Microsoft Mar 13, 2026
8bb5d6e
fix: update virtual machine size to Standard_D2s_v5 for improved perf…
Ayaz-Microsoft Mar 13, 2026
b599a8f
updated logging
AjitPadhi-Microsoft Mar 13, 2026
cd23b94
Updated custom config
AjitPadhi-Microsoft Mar 16, 2026
b0ddaa2
Updated logging
AjitPadhi-Microsoft Mar 16, 2026
721abe1
fixed logging issue
AjitPadhi-Microsoft Mar 17, 2026
16e18cf
fixed duplicate logging
AjitPadhi-Microsoft Mar 17, 2026
0490c52
fix: Update parameter names and values for consistency and clarity in…
Harsh-Microsoft Mar 17, 2026
facef99
fixed duplicate logging
AjitPadhi-Microsoft Mar 17, 2026
0aa3496
fixed session id issue
AjitPadhi-Microsoft Mar 17, 2026
0f64481
Merge branch 'dev' into hb-psl-us-37608
Harsh-Microsoft Mar 19, 2026
3cacbbf
add customizable VM size parameter for Jumpbox Virtual Machine
Ayaz-Microsoft Mar 20, 2026
a9499be
update VM size handling to default to Standard_D2s_v5 in Bicep files …
Ayaz-Microsoft Mar 20, 2026
d58a96d
Resolved the issue
Prekshith-Microsoft Mar 20, 2026
7e263f5
updated main.json with recent main.bicep
Ayaz-Microsoft Mar 20, 2026
87352a0
Resolved the copilot issue
Prekshith-Microsoft Mar 20, 2026
3e1b090
Merge remote-tracking branch 'origin/dev' into PSL-US-36447
AjitPadhi-Microsoft Mar 25, 2026
18ce704
Merge branch 'dev' into hb-psl-us-37608
Harsh-Microsoft Mar 25, 2026
40de2ce
updated biceps
AjitPadhi-Microsoft Mar 25, 2026
ecdd6ad
Refactor to standardize bicep and azd parameters
Harsh-Microsoft Mar 25, 2026
0511476
fix: Update local development setup and Bicep parameters for agent co…
Harsh-Microsoft Mar 26, 2026
4df07bb
Update documents/CustomizingAzdParameters.md
Harsh-Microsoft Mar 26, 2026
b1677b4
Update documents/CustomizingAzdParameters.md
Harsh-Microsoft Mar 26, 2026
8b3c5a3
Update description for Log Analytics Workspace ID
Harsh-Microsoft Mar 26, 2026
1c34a71
Update documentation for existing workspace IDs
Harsh-Microsoft Mar 26, 2026
02c5736
Updated the particular path for yml to run pipelines
Prekshith-Microsoft Mar 26, 2026
c637005
Apply suggestions from code review
Harsh-Microsoft Mar 26, 2026
fde86a7
Add virtual env activation steps in document and post deployment step…
NirajC-Microsoft Mar 27, 2026
1cfd600
remove unecessary azd up
NirajC-Microsoft Mar 27, 2026
ba79da4
Update documents/DeploymentGuide.md
NirajC-Microsoft Mar 27, 2026
b77a1a6
Merge branch 'dev' into hb-psl-us-37608
Harsh-Microsoft Mar 27, 2026
203baa2
Merge origin/dev into vm-upgrade - resolve main.json conflict by rege…
Ayaz-Microsoft Mar 27, 2026
a8761ec
Refactor deployment workflows
Vamshi-Microsoft Mar 27, 2026
1846286
add Bicep Parameter Mapping Validator and CI workflow for validation
Harsh-Microsoft Mar 30, 2026
af89b9a
remove paths filter from push event in validate-bicep-params workflow
Harsh-Microsoft Mar 30, 2026
46c1aa1
refactor: update validation step summaries for clarity
Harsh-Microsoft Mar 30, 2026
970055a
refactor: improve report formatting in validation output
Harsh-Microsoft Mar 30, 2026
c75deca
simplify schedule notification conditions in validation workflow for …
Harsh-Microsoft Mar 30, 2026
547ae5a
revert schedule notification conditions for success and failure
Harsh-Microsoft Mar 30, 2026
23bb5fd
refactor: update notification email subjects and accelerator name for…
Harsh-Microsoft Mar 30, 2026
e6dc998
refactor: remove push trigger for branch psl-hb-38627 from workflow
Harsh-Microsoft Mar 30, 2026
17c0764
refactor: enhance parameter parsing logic in Bicep validation script
Harsh-Microsoft Mar 30, 2026
6693194
refactor: update notification email subjects to use consistent variab…
Harsh-Microsoft Mar 30, 2026
5faf140
refactor: remove push trigger for branch psl-hb-38627 from workflow
Harsh-Microsoft Mar 30, 2026
29a9501
refactor: update schedule notification conditions to include event name
Harsh-Microsoft Mar 30, 2026
81bf79d
refactor: remove unused regex for azd environment variable references
Harsh-Microsoft Mar 30, 2026
1f3fce6
Merge pull request #157 from microsoft/psl-updatepostdeploy-steps
Roopan-Microsoft Mar 31, 2026
8b71a2e
refactor: streamline Bicep validation workflow and enhance error hand…
Harsh-Microsoft Mar 31, 2026
99607dc
refactor: move AZURE_ENV_ exempt variable declaration to the top of t…
Harsh-Microsoft Mar 31, 2026
1750d0a
refactor: remove push trigger for branch psl-hb-38627 and refine sche…
Harsh-Microsoft Mar 31, 2026
b9143d6
Refactor Azure Resource ID variables in workflows and documentation
Harsh-Microsoft Apr 1, 2026
626133c
refactor: enhance validation steps to capture and summarize output fo…
Harsh-Microsoft Apr 1, 2026
383276e
refactor: update environment variable exceptions to include AZURE_EXI…
Harsh-Microsoft Apr 1, 2026
b0cc918
Merge pull request #136 from microsoft/vm-upgrade
Prajwal-Microsoft Apr 1, 2026
2679184
Merge branch 'dev' into hb-psl-us-37608
Harsh-Microsoft Apr 1, 2026
010110d
rebuilt main.json
Harsh-Microsoft Apr 1, 2026
4233650
Merge pull request #144 from microsoft/psl-bug37791
Prajwal-Microsoft Apr 1, 2026
84d3348
revert secrets naming
Harsh-Microsoft Apr 1, 2026
578da8e
added voice feature in chat
AjitPadhi-Microsoft Apr 1, 2026
c948120
Merge remote-tracking branch 'origin/dev' into voice-feature
AjitPadhi-Microsoft Apr 1, 2026
71a818e
fixed lint issues
AjitPadhi-Microsoft Apr 1, 2026
e17acf6
updated unit test
AjitPadhi-Microsoft Apr 1, 2026
83dd40d
fixed unit tests
AjitPadhi-Microsoft Apr 2, 2026
3b1f5a4
removed un used code
AjitPadhi-Microsoft Apr 2, 2026
ab2219f
fixed audio and text sync issue
AjitPadhi-Microsoft Apr 2, 2026
447e9a6
reduce scale units in bastion host
Priyanka-Microsoft Apr 2, 2026
a2fdb5d
Merge pull request #165 from microsoft/reduce-scaleunits-bastionhost
Prajwal-Microsoft Apr 3, 2026
8ee31cf
Merge pull request #158 from microsoft/psl-hb-38627
Roopan-Microsoft Apr 3, 2026
3b00ef9
Merge branch 'dev' into hb-psl-us-37608
Harsh-Microsoft Apr 3, 2026
75baef2
rebuilt main.json
Harsh-Microsoft Apr 3, 2026
f9cb0cd
Merge pull request #140 from microsoft/hb-psl-us-37608
Roopan-Microsoft Apr 3, 2026
9614115
fixed copilot comments
AjitPadhi-Microsoft Apr 3, 2026
c5ee3b3
Merge remote-tracking branch 'origin/dev' into voice-feature
AjitPadhi-Microsoft Apr 3, 2026
a0b6753
Merge pull request #159 from microsoft/voice-feature
Prajwal-Microsoft Apr 3, 2026
73835ee
Refactor deployment workflows and improve error handling in scripts
Harsh-Microsoft Apr 3, 2026
a3f1218
Merge branch 'main' into hb-psl-res-conflicts
Harsh-Microsoft Apr 3, 2026
2dc4ee8
Update input parameter names for Azure Log Analytics workspace in dep…
Harsh-Microsoft Apr 3, 2026
30414ed
Merge pull request #169 from microsoft/hb-psl-res-conflicts
Prajwal-Microsoft Apr 3, 2026
a614a60
fix: upgrade aiohttp 3.13.3 to 3.13.5 to resolve 10 Dependabot securi…
Shubhangi-Microsoft Apr 3, 2026
f01b123
Merge remote-tracking branch 'origin/dev' into PSL-US-36447
AjitPadhi-Microsoft Apr 3, 2026
523f108
Merge pull request #135 from microsoft/PSL-US-36447
Roopan-Microsoft Apr 3, 2026
783180e
Deployment issue fix
AjitPadhi-Microsoft Apr 3, 2026
fe6bc51
added quota check
AjitPadhi-Microsoft Apr 3, 2026
de70862
Updated naming of variable
AjitPadhi-Microsoft Apr 6, 2026
efa1858
fixed deployment issue
AjitPadhi-Microsoft Apr 6, 2026
7594ba1
updated custom bicep
AjitPadhi-Microsoft Apr 6, 2026
a1b4077
commit
Tejasri-Microsoft Apr 6, 2026
b1a609c
Merge pull request #171 from microsoft/PSL-BUG-39254
Prajwal-Microsoft Apr 6, 2026
2d7299d
commit
Tejasri-Microsoft Apr 6, 2026
5d44b15
commit
Tejasri-Microsoft Apr 6, 2026
3b35c95
commit
Tejasri-Microsoft Apr 6, 2026
a7234c2
commit
Tejasri-Microsoft Apr 6, 2026
b607521
commit
Tejasri-Microsoft Apr 7, 2026
b2ab9a1
commit
Tejasri-Microsoft Apr 8, 2026
5f3fdf7
commit
Tejasri-Microsoft Apr 8, 2026
dec21d4
commit
Tejasri-Microsoft Apr 8, 2026
3431e19
commit
Tejasri-Microsoft Apr 8, 2026
8dacfb3
Merge pull request #174 from microsoft/psl-ts-templatevd
Prajwal-Microsoft Apr 8, 2026
0702112
fix: add bicep version requirement (>= 0.33.0) to azure.yaml
Roopan-Microsoft Apr 9, 2026
4a1d0ec
fix: Remove create-release.yml path filter changes
Prekshith-Microsoft Apr 9, 2026
0308eba
fix: add bicep version requirement (>= 0.33.0) to azure.yaml
Avijit-Microsoft Apr 9, 2026
fbbca4d
Merge pull request #170 from microsoft/psl-dependabotalerts
Roopan-Microsoft Apr 9, 2026
4828c2e
Update README
Thanusree-Microsoft Apr 9, 2026
5a7e9f6
Update Deployment Guide with security note
Thanusree-Microsoft Apr 9, 2026
293a69f
Merge pull request #179 from microsoft/psl-thcontentsfi
Roopan-Microsoft Apr 10, 2026
572425f
fix: Resolve merge conflicts with dev branch
Prekshith-Microsoft Apr 10, 2026
7327ca9
fix: Restore push trigger with path filters for azure-dev.yml
Prekshith-Microsoft Apr 10, 2026
575b520
Merge pull request #153 from microsoft/psl-yml-paths
Roopan-Microsoft Apr 10, 2026
35cf934
fix: Add location parameter to search service update module
Harsh-Microsoft Apr 14, 2026
e09dd12
Merge pull request #183 from microsoft/hb-psl-bug-40259
Roopan-Microsoft Apr 14, 2026
0d467a2
Add PR trigger and coverage comment to test workflow
Rafi-Microsoft Apr 16, 2026
ac1aea1
fix: Remove demo branch from workflow triggers
Rafi-Microsoft Apr 16, 2026
3da6f5d
Merge pull request #185 from microsoft/psl-add-coverage-pr-comment
Roopan-Microsoft Apr 20, 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
47 changes: 47 additions & 0 deletions .github/workflows/azd-template-validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
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
environment: production
name: azd template validation
env:
GH_TOKEN: ${{ github.token }}

steps:
- uses: actions/checkout@v4

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

- name: Validate Azure Template
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: ${{ vars.AZURE_ENV_NAME }}-${{ env.HHMM }}
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
AZURE_ENV_OPENAI_LOCATION: ${{ vars.AZURE_LOCATION }}
AZURE_AI_MODEL_CAPACITY: 1
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}

- name: print result
if: always()
run: cat ${{ steps.validation.outputs.resultFile }}
96 changes: 67 additions & 29 deletions .github/workflows/azure-dev.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,81 @@
name: Azure Template Validation
name: Azure Dev Deploy
on:
workflow_dispatch:
push:
branches:
- main
workflow_dispatch:
push:
branches:
- main
paths:
- 'infra/**'
- 'azure*.yaml'
- '.github/workflows/azure-dev.yml'

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

jobs:
template_validation_job:
deploy:
runs-on: ubuntu-latest
name: azd deploy
environment: production
name: Template 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: ${{ vars.AZURE_ENV_NAME }}
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
AZURE_ENV_AI_SERVICE_LOCATION: ${{ vars.AZURE_ENV_AI_SERVICE_LOCATION }}

AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ secrets.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ secrets.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}

steps:
# Step 1: Checkout the code from your repository
- name: Checkout code
- name: Checkout Code
uses: actions/checkout@v4

# Step 2: Validate the Azure template using microsoft/template-validation-action
- name: Validate Azure Template
uses: microsoft/template-validation-action@v0.4.3
- name: Set timestamp and env name
shell: bash
run: |
HHMM=$(date -u +'%H%M')
echo "AZURE_ENV_NAME=${AZURE_ENV_NAME}-${HHMM}" >> "$GITHUB_ENV"

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

- name: Login to Azure
uses: azure/login@v2
with:
validateAzd: ${{ vars.AZD_VALIDATE }}
useDevContainer: ${{ vars.AZD_USE_DEV_CONTAINER }}
validateTests: ${{ vars.AZD_VALIDATE_TESTS }}
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: ${{ vars.AZURE_ENV_NAME }}
AZURE_LOCATION: ${{ vars.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: |
# Always create the environment (idempotent — succeeds even if it exists)
azd env new "$AZURE_ENV_NAME" --subscription "$AZURE_SUBSCRIPTION_ID" --location "$AZURE_LOCATION" --no-prompt || true
azd env select "$AZURE_ENV_NAME"

azd config set defaults.subscription "$AZURE_SUBSCRIPTION_ID"

# Write required env values
azd env set AZURE_ENV_AI_SERVICE_LOCATION "${AZURE_ENV_AI_SERVICE_LOCATION}"

if [[ -n "${AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:-}" ]]; then
azd env set AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID "$AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID"
fi

if [[ -n "${AZURE_EXISTING_AI_PROJECT_RESOURCE_ID:-}" ]]; then
azd env set AZURE_EXISTING_AI_PROJECT_RESOURCE_ID "$AZURE_EXISTING_AI_PROJECT_RESOURCE_ID"
fi

azd up --no-prompt
7 changes: 7 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,15 @@ name: "CodeQL Advanced"
on:
push:
branches: [ "main", "dev", "demo" ]
paths:
- 'src/**'
- 'infra/scripts/**/*.py'
- '.github/workflows/codeql.yml'
pull_request:
branches: [ "main", "dev", "demo" ]
paths:
- 'src/**'
- 'infra/scripts/**/*.py'
schedule:
- cron: '44 20 * * 2'

Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/deploy-orchestrator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,12 @@ 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
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID:
AZURE_EXISTING_AIPROJECT_RESOURCE_ID:
description: 'AI Project Resource ID (Optional)'
required: false
default: ''
Expand Down Expand Up @@ -86,8 +86,8 @@ 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_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
AZURE_EXISTING_AIPROJECT_RESOURCE_ID: ${{ inputs.AZURE_EXISTING_AIPROJECT_RESOURCE_ID }}
docker_image_tag: ${{ needs.docker-build.outputs.IMAGE_TAG }}
run_e2e_tests: ${{ inputs.run_e2e_tests }}
cleanup_resources: ${{ inputs.cleanup_resources }}
Expand Down
52 changes: 26 additions & 26 deletions .github/workflows/deploy-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,13 +70,13 @@ on:
- 'GoldenPath-Testing'
- '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
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID:
description: 'AI Project Resource ID (Optional)'
AZURE_EXISTING_AIPROJECT_RESOURCE_ID:
description: 'AI Foundry Project Resource ID (Optional)'
required: false
default: ''
type: string
Expand All @@ -102,8 +102,8 @@ 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_existing_ai_project_resource_id: ${{ steps.validate.outputs.azure_existing_ai_project_resource_id }}
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ steps.validate.outputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
AZURE_EXISTING_AIPROJECT_RESOURCE_ID: ${{ steps.validate.outputs.AZURE_EXISTING_AIPROJECT_RESOURCE_ID }}
existing_webapp_url: ${{ steps.validate.outputs.existing_webapp_url }}
steps:
- name: Validate Workflow Input Parameters
Expand All @@ -118,8 +118,8 @@ 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_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ github.event.inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ github.event.inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
INPUT_AZURE_EXISTING_AIPROJECT_RESOURCE_ID: ${{ github.event.inputs.AZURE_EXISTING_AIPROJECT_RESOURCE_ID }}
INPUT_EXISTING_WEBAPP_URL: ${{ github.event.inputs.existing_webapp_url }}
run: |
echo "🔍 Validating workflow input parameters..."
Expand Down Expand Up @@ -209,32 +209,32 @@ 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/workspaces/[^/]+$ ]]; 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/workspaces/[^/]+$ ]]; 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)
if [[ -n "$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID" ]]; then
if [[ ! "$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/resourceGroups/[^/]+/providers/(Microsoft\.MachineLearningServices/(workspaces|projects)/[^/]+|Microsoft\.CognitiveServices/accounts/[^/]+/projects/[^/]+)$ ]]; then
echo "❌ ERROR: AZURE_EXISTING_AI_PROJECT_RESOURCE_ID is invalid. Must be a valid Azure Resource ID format:"
# Validate AZURE_EXISTING_AIPROJECT_RESOURCE_ID (optional, Azure Resource ID format)
if [[ -n "$INPUT_AZURE_EXISTING_AIPROJECT_RESOURCE_ID" ]]; then
if [[ ! "$INPUT_AZURE_EXISTING_AIPROJECT_RESOURCE_ID" =~ ^/subscriptions/[a-fA-F0-9-]+/resourceGroups/[^/]+/providers/(Microsoft\.MachineLearningServices/(workspaces|projects)/[^/]+|Microsoft\.CognitiveServices/accounts/[^/]+/projects/[^/]+)$ ]]; then
echo "❌ ERROR: AZURE_EXISTING_AIPROJECT_RESOURCE_ID is invalid. Must be a valid Azure Resource ID format:"
echo " /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/projects/{projectName}"
echo " Got: '$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID'"
echo " Got: '$INPUT_AZURE_EXISTING_AIPROJECT_RESOURCE_ID'"
VALIDATION_FAILED=true
else
echo "✅ AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: Valid Resource ID format"
echo "✅ AZURE_EXISTING_AIPROJECT_RESOURCE_ID: Valid Resource ID format"
fi
else
echo "✅ AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: Not provided (optional)"
echo "✅ AZURE_EXISTING_AIPROJECT_RESOURCE_ID: Not provided (optional)"
fi

# Validate existing_webapp_url (optional, must start with https)
Expand Down Expand Up @@ -269,8 +269,8 @@ 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_existing_ai_project_resource_id=$INPUT_AZURE_EXISTING_AI_PROJECT_RESOURCE_ID" >> $GITHUB_OUTPUT
echo "AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID=$INPUT_AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID" >> $GITHUB_OUTPUT
echo "AZURE_EXISTING_AIPROJECT_RESOURCE_ID=$INPUT_AZURE_EXISTING_AIPROJECT_RESOURCE_ID" >> $GITHUB_OUTPUT
echo "existing_webapp_url=$INPUT_EXISTING_WEBAPP_URL" >> $GITHUB_OUTPUT

Run:
Expand All @@ -286,8 +286,8 @@ 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 }}
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ needs.validate-inputs.outputs.azure_env_log_analytics_workspace_id }}
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ needs.validate-inputs.outputs.azure_existing_ai_project_resource_id }}
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ needs.validate-inputs.outputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
AZURE_EXISTING_AIPROJECT_RESOURCE_ID: ${{ needs.validate-inputs.outputs.AZURE_EXISTING_AIPROJECT_RESOURCE_ID }}
existing_webapp_url: ${{ needs.validate-inputs.outputs.existing_webapp_url }}
trigger_type: ${{ github.event_name }}
secrets: inherit
9 changes: 8 additions & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,19 @@ on:
- main
- dev
- demo
paths:
- 'src/**'
- 'infra/**'
- 'azure*.yaml'
- '.github/workflows/deploy.yml'
schedule:
- cron: '0 5,17 * * *' # Runs at 5:00 AM and 5:00 PM GMT
workflow_dispatch:

env:
GPT_MIN_CAPACITY: 10
EMBEDDING_MIN_CAPACITY: 10
GPT_REALTIME_MIN_CAPACITY: 1
BRANCH_NAME: ${{ github.head_ref || github.ref_name }}

jobs:
Expand Down Expand Up @@ -50,6 +56,7 @@ jobs:
AZURE_REGIONS: ${{ vars.AZURE_REGIONS }}
GPT_MIN_CAPACITY: ${{ env.GPT_MIN_CAPACITY }}
EMBEDDING_MIN_CAPACITY: ${{ env.EMBEDDING_MIN_CAPACITY }}
GPT_REALTIME_MIN_CAPACITY: ${{ env.GPT_REALTIME_MIN_CAPACITY }}
run: |
chmod +x infra/scripts/checkquota.sh
if ! infra/scripts/checkquota.sh; then
Expand All @@ -66,7 +73,7 @@ jobs:
RUN_URL="https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}"
EMAIL_BODY=$(cat <<EOF
{
"body": "<p>Dear Team,</p><p>The quota check has failed for Customer Chatbot deployment, and the pipeline cannot proceed.</p><p><strong>Build URL:</strong> <a href=\"${RUN_URL}\">${RUN_URL}</a></p><p>Required models:<br>- gpt-4o-mini: ${{ env.GPT_MIN_CAPACITY }} capacity<br>- text-embedding-3-small: ${{ env.EMBEDDING_MIN_CAPACITY }} capacity</p><p>Please take necessary action.</p><p>Best regards,<br>Your Automation Team</p>"
"body": "<p>Dear Team,</p><p>The quota check has failed for Customer Chatbot deployment, and the pipeline cannot proceed.</p><p><strong>Build URL:</strong> <a href=\"${RUN_URL}\">${RUN_URL}</a></p><p>Required models:<br>- gpt-4o-mini: ${{ env.GPT_MIN_CAPACITY }} capacity<br>- text-embedding-3-small: ${{ env.EMBEDDING_MIN_CAPACITY }} capacity<br>- gpt-realtime-mini: ${{ env.GPT_REALTIME_MIN_CAPACITY }} capacity</p><p>Please take necessary action.</p><p>Best regards,<br>Your Automation Team</p>"
}
EOF
)
Expand Down
8 changes: 8 additions & 0 deletions .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,10 @@ on:
- main
- dev
- demo
paths:
- 'src/App/**'
- 'src/api/**'
- '.github/workflows/docker-build.yml'
pull_request:
types:
- opened
Expand All @@ -20,6 +24,10 @@ on:
- main
- dev
- demo
paths:
- 'src/App/**'
- 'src/api/**'
- '.github/workflows/docker-build.yml'
workflow_dispatch:

jobs:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/job-cleanup-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ on:
description: 'Azure Location'
required: true
type: string
AZURE_ENV_OPENAI_LOCATION:
description: 'Azure OpenAI Location'
AZURE_ENV_AI_SERVICE_LOCATION:
description: 'Azure AI Service Location'
required: true
type: string
ENV_NAME:
Expand All @@ -50,7 +50,7 @@ jobs:
env:
RESOURCE_GROUP_NAME: ${{ inputs.RESOURCE_GROUP_NAME }}
AZURE_LOCATION: ${{ inputs.AZURE_LOCATION }}
AZURE_ENV_OPENAI_LOCATION: ${{ inputs.AZURE_ENV_OPENAI_LOCATION }}
AZURE_ENV_AI_SERVICE_LOCATION: ${{ inputs.AZURE_ENV_AI_SERVICE_LOCATION }}
ENV_NAME: ${{ inputs.ENV_NAME }}
IMAGE_TAG: ${{ inputs.IMAGE_TAG }}
steps:
Expand Down
Loading
Loading