Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
76cc3ea
Update parameter names for standardization
Prachig-Microsoft Mar 20, 2026
414650e
Standardize parameter names for Azure AI service location across work…
Vamshi-Microsoft Mar 26, 2026
29b1d60
feat: Add AZD template validation and Azure Dev deployment workflows
Vamshi-Microsoft Mar 31, 2026
d628b4b
feat: Add cleanup step to Azure Dev deployment workflow
Vamshi-Microsoft Mar 31, 2026
ce3ba36
application insight logging
Kanchan-Microsoft Apr 1, 2026
badfdec
fix for app insight
Kanchan-Microsoft Apr 1, 2026
c1599c9
refactor: Remove cleanup step from Azure Dev deployment workflow
Vamshi-Microsoft Apr 2, 2026
63b5680
fix: Increase model capacity to avoid potential quota issues in AZD t…
Vamshi-Microsoft Apr 2, 2026
24d910b
fix: Append GitHub run ID to AZURE_ENV_NAME for unique environment id…
Vamshi-Microsoft Apr 2, 2026
8d1c0ce
fix: Update AZURE_ENV_NAME to use github.run_number for consistency i…
Vamshi-Microsoft Apr 2, 2026
2c74eae
remove enableMonitoring parameter
Kanchan-Microsoft Apr 2, 2026
f437958
Merge branch 'dev' into psl-us-37748
Kanchan-Microsoft Apr 2, 2026
24dc9be
fix: Update AZURE_ENV_NAME to include timestamp for unique environmen…
Vamshi-Microsoft Apr 3, 2026
33d4660
Potential fix for pull request finding 'CodeQL / Log entries created …
Kanchan-Microsoft Apr 3, 2026
d9b8820
packages update
Ayaz-Microsoft Apr 3, 2026
4abbe20
Add Bicep parameter validation workflow and script
Harsh-Microsoft Apr 3, 2026
1f67775
Refactor workflow triggers and notification conditions in validate-bi…
Harsh-Microsoft Apr 3, 2026
8fd9d35
updated
Kanchan-Microsoft Apr 6, 2026
54c5638
Potential fix for pull request finding 'CodeQL / Log entries created …
Kanchan-Microsoft Apr 6, 2026
008b00a
Remove enableMonitoring parameter from main.parameters.json
Kanchan-Microsoft Apr 6, 2026
f47b0d8
Remove AutoMapper package references from project files
Ayaz-Microsoft Apr 6, 2026
564d40a
Filter the paths to run the pipeline
Prekshith-Microsoft Apr 7, 2026
b644515
Standardize Log Analytics environment variable name to AZURE_ENV_EXIS…
Prachig-Microsoft Apr 7, 2026
08e7f8f
Merge pull request #593 from Vamshi-Microsoft/psl-azd-template-valida…
Prajwal-Microsoft Apr 8, 2026
82bde7b
Merge pull request #595 from microsoft/psl-us-37748
Roopan-Microsoft Apr 8, 2026
11baece
Merge branch 'dev' into dependabot-ayaz
Ayaz-Microsoft Apr 8, 2026
1c8c5e0
Merge pull request #597 from microsoft/dependabot-ayaz
Roopan-Microsoft Apr 8, 2026
4abf0c6
fix: add bicep version requirement (>= 0.33.0) to azure.yaml
Roopan-Microsoft Apr 9, 2026
69135f4
fix: Remove Create-Release.yml path filter changes
Prekshith-Microsoft Apr 9, 2026
bbd5834
fix: add bicep version requirement (>= 0.33.0) to azure.yaml
Avijit-Microsoft Apr 9, 2026
657249b
Merge pull request #596 from microsoft/hb-psl-38859
Roopan-Microsoft Apr 9, 2026
8c6bf20
Update README
Thanusree-Microsoft Apr 9, 2026
922dc9f
Update Deployment Guide
Thanusree-Microsoft Apr 9, 2026
2d20a9f
Rebuild main.json from Bicep template with standardized parameters
Prachig-Microsoft Apr 9, 2026
bfb037c
Merge remote-tracking branch 'origin/dev' into feature/standardize-pa…
Prachig-Microsoft Apr 9, 2026
4cce192
Merge pull request #576 from microsoft/feature/standardize-parameter-…
Prachig-Microsoft Apr 9, 2026
65bb07a
Revert "fix: Update parameter names for standardization"
Prachig-Microsoft Apr 9, 2026
7fe662b
Merge pull request #603 from microsoft/revert-576-feature/standardize…
Roopan-Microsoft Apr 9, 2026
146be79
Merge pull request #599 from microsoft/psl-path-filter
Roopan-Microsoft Apr 9, 2026
f231e45
Merge pull request #602 from microsoft/psl-sfichange
Roopan-Microsoft Apr 10, 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
41 changes: 41 additions & 0 deletions .github/workflows/azd-template-validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
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_OPENAI_LOCATION: ${{ vars.AZURE_LOCATION }}
AZURE_ENV_MODEL_CAPACITY: 10 # keep low to avoid potential quota issues
AZURE_ENV_EMBEDDING_MODEL_CAPACITY: 10 # keep low to avoid potential quota issues
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: print result
run: cat ${{ steps.validation.outputs.resultFile }}
56 changes: 56 additions & 0 deletions .github/workflows/azure-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
name: Azure Dev Deploy

on:
workflow_dispatch:

permissions:
contents: read
id-token: write

jobs:
deploy:
runs-on: ubuntu-latest
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 }}${{ github.run_number }}
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
steps:
- 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:
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_OPENAI_LOCATION="$AZURE_LOCATION"
azd up --no-prompt
13 changes: 13 additions & 0 deletions .github/workflows/deploy-v2.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,19 @@ on:
- main # Adjust this to the branch you want to trigger the deployment on
- dev
- demo
paths:
- 'infra/**'
- 'App/**'
- 'Deployment/**'
- 'azure.yaml'
- '.github/workflows/deploy-v2.yml'
- '.github/workflows/deploy-orchestrator.yml'
- '.github/workflows/job-deploy.yml'
- '.github/workflows/job-deploy-linux.yml'
- '.github/workflows/job-cleanup-deployment.yml'
- '.github/workflows/job-send-notification.yml'
- '.github/workflows/test-automation-v2.yml'
- 'tests/**'
schedule:
- cron: "0 10,22 * * *" # Runs at 10:00 AM and 10:00 PM UTC

Expand Down
108 changes: 108 additions & 0 deletions .github/workflows/validate-bicep-params.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
name: Validate Bicep Parameters

permissions:
contents: read

on:
schedule:
- cron: '30 6 * * 3' # Wednesday 12:00 PM IST (6:30 AM UTC)
pull_request:
branches:
- main
- dev
paths:
- 'infra/**/*.bicep'
- 'infra/**/*.parameters.json'
- 'Deployment/validate_bicep_params.py'
workflow_dispatch:

env:
accelerator_name: "DKM"

jobs:
validate:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'

- name: Validate infra/ parameters
id: validate_infra
continue-on-error: true
run: |
set +e
python Deployment/validate_bicep_params.py --dir infra --strict --no-color --json-output infra_results.json 2>&1 | tee infra_output.txt
EXIT_CODE=${PIPESTATUS[0]}
set -e
echo "## Infra Param Validation" >> "$GITHUB_STEP_SUMMARY"
echo '```' >> "$GITHUB_STEP_SUMMARY"
cat infra_output.txt >> "$GITHUB_STEP_SUMMARY"
echo '```' >> "$GITHUB_STEP_SUMMARY"
exit $EXIT_CODE

- name: Set overall result
id: result
run: |
if [[ "${{ steps.validate_infra.outcome }}" == "failure" ]]; then
echo "status=failure" >> "$GITHUB_OUTPUT"
else
echo "status=success" >> "$GITHUB_OUTPUT"
fi

- name: Upload validation results
if: always()
uses: actions/upload-artifact@v4
with:
name: bicep-validation-results
path: |
infra_results.json
retention-days: 30

- name: Send schedule notification on failure
if: github.event_name == 'schedule' && steps.result.outputs.status == 'failure'
env:
LOGICAPP_URL: ${{ secrets.EMAILNOTIFICATION_LOGICAPP_URL_TA }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_RUN_ID: ${{ github.run_id }}
ACCELERATOR_NAME: ${{ env.accelerator_name }}
run: |
RUN_URL="https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}"
INFRA_OUTPUT=$(sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g' infra_output.txt)

jq -n \
--arg name "${ACCELERATOR_NAME}" \
--arg infra "$INFRA_OUTPUT" \
--arg url "$RUN_URL" \
'{subject: ("Bicep Parameter Validation Report - " + $name + " - Issues Detected"), body: ("<p>Dear Team,</p><p>The scheduled <strong>Bicep Parameter Validation</strong> for <strong>" + $name + "</strong> has detected parameter mapping errors.</p><p><strong>infra/ Results:</strong></p><pre>" + $infra + "</pre><p><strong>Run URL:</strong> <a href=\"" + $url + "\">" + $url + "</a></p><p>Please fix the parameter mapping issues at your earliest convenience.</p><p>Best regards,<br>Your Automation Team</p>")}' \
| curl -X POST "${LOGICAPP_URL}" \
-H "Content-Type: application/json" \
-d @- || echo "Failed to send notification"

- name: Send schedule notification on success
if: github.event_name == 'schedule' && steps.result.outputs.status == 'success'
env:
LOGICAPP_URL: ${{ secrets.EMAILNOTIFICATION_LOGICAPP_URL_TA }}
GITHUB_REPOSITORY: ${{ github.repository }}
GITHUB_RUN_ID: ${{ github.run_id }}
ACCELERATOR_NAME: ${{ env.accelerator_name }}
run: |
RUN_URL="https://github.com/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}"
INFRA_OUTPUT=$(sed 's/&/\&amp;/g; s/</\&lt;/g; s/>/\&gt;/g' infra_output.txt)

jq -n \
--arg name "${ACCELERATOR_NAME}" \
--arg infra "$INFRA_OUTPUT" \
--arg url "$RUN_URL" \
'{subject: ("Bicep Parameter Validation Report - " + $name + " - Passed"), body: ("<p>Dear Team,</p><p>The scheduled <strong>Bicep Parameter Validation</strong> for <strong>" + $name + "</strong> has completed successfully. All parameter mappings are valid.</p><p><strong>infra/ Results:</strong></p><pre>" + $infra + "</pre><p><strong>Run URL:</strong> <a href=\"" + $url + "\">" + $url + "</a></p><p>Best regards,<br>Your Automation Team</p>")}' \
| curl -X POST "${LOGICAPP_URL}" \
-H "Content-Type: application/json" \
-d @- || echo "Failed to send notification"

- name: Fail if errors found
if: steps.result.outputs.status == 'failure'
run: exit 1
Loading
Loading