Skip to content

Commit 60e3030

Browse files
author
Prajwal-Microsoft
committed
chore: Merge latest from main branch
2 parents 058321d + d8d5565 commit 60e3030

183 files changed

Lines changed: 16638 additions & 12590 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.devcontainer/Dockerfile

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
FROM mcr.microsoft.com/devcontainers/python:3.11-bullseye
2+
3+
# Remove Yarn repository to avoid GPG key expiration issue
4+
RUN rm -f /etc/apt/sources.list.d/yarn.list

.devcontainer/devcontainer.json

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
11
{
22
"name": "azd-template",
3-
"image": "mcr.microsoft.com/devcontainers/python:3.11-bullseye",
3+
"build": {
4+
"dockerfile": "Dockerfile"
5+
},
46
"forwardPorts": [50505],
57
"features": {
68
"ghcr.io/azure/azure-dev/azd:latest": {},
7-
"ghcr.io/devcontainers/features/azure-cli:1": {},
9+
"ghcr.io/devcontainers/features/azure-cli:1": {
10+
"installBicep": true,
11+
"version": "latest",
12+
"bicepVersion": "latest"
13+
},
814
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
915
"ghcr.io/jlaundry/devcontainer-features/mssql-odbc-driver:1": {
1016
"version": "18"
11-
}
17+
},
18+
"ghcr.io/devcontainers/features/node:1": {}
1219
},
1320
"customizations": {
1421
"vscode": {

.github/dependabot.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,20 @@ updates:
2929
patterns:
3030
- "*"
3131

32+
# Python index scripts dependencies - grouped
33+
- package-ecosystem: "pip"
34+
directory: "/infra/scripts/index_scripts"
35+
schedule:
36+
interval: "monthly"
37+
target-branch: "dependabotchanges"
38+
commit-message:
39+
prefix: "build"
40+
open-pull-requests-limit: 10
41+
groups:
42+
index-scripts-deps:
43+
patterns:
44+
- "*"
45+
3246
# Frontend npm dependencies - grouped
3347
- package-ecosystem: "npm"
3448
directory: "/src/App"

.github/workflows/Scheduled-Dependabot-PRs-Auto-Merge.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,23 @@ jobs:
4242
run: |
4343
sudo apt update
4444
sudo apt install -y gh
45+
46+
- name: Retarget Dependabot PRs from main to dependabotchanges
47+
env:
48+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49+
run: |
50+
echo "🔄 Checking for Dependabot PRs targeting 'main' that need retargeting..."
51+
pr_batch=$(gh pr list --state open --json number,title,author,baseRefName,headRefName \
52+
--jq '.[] | "\(.number)|\(.title)|\(.author.login)|\(.baseRefName)|\(.headRefName)"')
53+
while IFS='|' read -r number title author base head; do
54+
author=$(echo "$author" | xargs)
55+
base=$(echo "$base" | xargs)
56+
if [[ "$author" == "app/dependabot" && "$base" == "main" ]]; then
57+
echo "🔀 Retargeting PR #$number from 'main' to 'dependabotchanges'..."
58+
gh pr edit "$number" --base dependabotchanges || echo "⚠️ Failed to retarget PR #$number"
59+
fi
60+
done <<< "$pr_batch"
61+
4562
- name: Fetch & Filter Dependabot PRs
4663
env:
4764
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: AZD Template Validation
2+
on:
3+
schedule:
4+
- cron: '30 1 * * 4' # Every Thursday at 7:00 AM IST (1:30 AM UTC)
5+
workflow_dispatch:
6+
7+
permissions:
8+
contents: read
9+
id-token: write
10+
pull-requests: write
11+
12+
jobs:
13+
template_validation_job:
14+
runs-on: ubuntu-latest
15+
name: azd template validation
16+
environment: production
17+
steps:
18+
- uses: actions/checkout@v6
19+
20+
- name: Set timestamp
21+
run: echo "HHMM=$(date -u +'%H%M')" >> $GITHUB_ENV
22+
23+
- uses: microsoft/template-validation-action@v0.4.3
24+
with:
25+
validateAzd: ${{ vars.TEMPLATE_VALIDATE_AZD }}
26+
validateTests: ${{ vars.TEMPLATE_VALIDATE_TESTS }}
27+
useDevContainer: ${{ vars.TEMPLATE_USE_DEV_CONTAINER }}
28+
id: validation
29+
env:
30+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
31+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
32+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
33+
AZURE_ENV_NAME: azd-${{ vars.AZURE_ENV_NAME }}-${{ env.HHMM }}
34+
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
35+
AZURE_ENV_AI_SERVICE_LOCATION: ${{ vars.AZURE_ENV_AI_SERVICE_LOCATION || 'eastus2' }}
36+
USE_CASE: ${{ vars.USE_CASE || 'telecom' }}
37+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
38+
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
39+
40+
41+
- name: print result
42+
run: cat ${{ steps.validation.outputs.resultFile }}

.github/workflows/azure-dev-validation.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

.github/workflows/azure-dev.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Azure Dev Deploy
2+
3+
on:
4+
workflow_dispatch:
5+
6+
permissions:
7+
contents: read
8+
id-token: write
9+
10+
jobs:
11+
deploy:
12+
runs-on: ubuntu-latest
13+
environment: production
14+
env:
15+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
16+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
17+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
18+
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
19+
AZURE_ENV_AI_SERVICE_LOCATION: ${{ vars.AZURE_ENV_AI_SERVICE_LOCATION || 'eastus2' }}
20+
USE_CASE: ${{ vars.USE_CASE || 'telecom' }}
21+
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
22+
steps:
23+
- name: Checkout Code
24+
uses: actions/checkout@v4
25+
26+
- name: Set timestamp and env name
27+
run: |
28+
HHMM=$(date -u +'%H%M')
29+
echo "AZURE_ENV_NAME=azd-${{ vars.AZURE_ENV_NAME }}-${HHMM}" >> $GITHUB_ENV
30+
31+
- name: Install azd
32+
uses: Azure/setup-azd@v2
33+
34+
- name: Login to Azure
35+
uses: azure/login@v2
36+
with:
37+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
38+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
39+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
40+
41+
- name: Login to AZD
42+
shell: bash
43+
run: |
44+
azd auth login \
45+
--client-id "$AZURE_CLIENT_ID" \
46+
--federated-credential-provider "github" \
47+
--tenant-id "$AZURE_TENANT_ID"
48+
49+
- name: Provision and Deploy
50+
shell: bash
51+
run: |
52+
if ! azd env select "$AZURE_ENV_NAME"; then
53+
azd env new "$AZURE_ENV_NAME" --subscription "$AZURE_SUBSCRIPTION_ID" --location "$AZURE_LOCATION" --no-prompt
54+
fi
55+
azd config set defaults.subscription "$AZURE_SUBSCRIPTION_ID"
56+
azd env set AZURE_ENV_AI_SERVICE_LOCATION="$AZURE_ENV_AI_SERVICE_LOCATION"
57+
azd env set USE_CASE="$USE_CASE"
58+
azd up --no-prompt

.github/workflows/bicep_deploy.yml

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,34 @@ on:
33
push:
44
branches:
55
- ckm-v2
6+
paths:
7+
- 'infra/**/*.bicep'
8+
- 'infra/**/*.json'
9+
- 'infra/scripts/**'
10+
- '.github/workflows/bicep_deploy.yml'
11+
12+
permissions:
13+
contents: read
14+
id-token: write
615

7-
816
jobs:
917
deploy:
1018
runs-on: ubuntu-latest
19+
environment: production
1120
steps:
1221
- name: Checkout Code
1322
uses: actions/checkout@v6
1423

24+
- name: Login to Azure
25+
uses: azure/login@v2
26+
with:
27+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
28+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
29+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
30+
1531
- name: Run Quota Check
1632
id: quota-check
1733
env:
18-
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
19-
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
20-
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
2134
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
2235
GPT_MIN_CAPACITY: "30"
2336
AZURE_REGIONS: ${{ vars.AZURE_REGIONS }}
@@ -55,10 +68,6 @@ jobs:
5568
echo "Selected Region: $VALID_REGION"
5669
echo "AZURE_LOCATION=$VALID_REGION" >> $GITHUB_ENV
5770
58-
- name: Login to Azure
59-
run: |
60-
az login --service-principal -u ${{ secrets.AZURE_CLIENT_ID }} -p ${{ secrets.AZURE_CLIENT_SECRET }} --tenant ${{ secrets.AZURE_TENANT_ID }}
61-
6271
- name: Install Bicep CLI
6372
run: az bicep install
6473

.github/workflows/deploy-KMGeneric.yml

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ on:
1515
permissions:
1616
contents: read
1717
actions: read
18+
id-token: write
1819

1920
env:
2021
GPT_MIN_CAPACITY: 150
@@ -23,6 +24,7 @@ env:
2324
jobs:
2425
deploy:
2526
runs-on: ubuntu-latest
27+
environment: production
2628
outputs:
2729
RESOURCE_GROUP_NAME: ${{ steps.check_create_rg.outputs.RESOURCE_GROUP_NAME }}
2830
WEBAPP_URL: ${{ steps.get_output.outputs.WEBAPP_URL }}
@@ -33,14 +35,15 @@ jobs:
3335
uses: actions/checkout@v6
3436

3537
- name: Login to Azure
36-
run: |
37-
az login --service-principal -u ${{ secrets.AZURE_CLIENT_ID }} -p ${{ secrets.AZURE_CLIENT_SECRET }} --tenant ${{ secrets.AZURE_TENANT_ID }}
38+
uses: azure/login@v2
39+
with:
40+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
41+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
42+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
43+
3844
- name: Run Quota Check
3945
id: quota-check
4046
env:
41-
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
42-
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
43-
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
4447
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
4548
GPT_MIN_CAPACITY: ${{ env.GPT_MIN_CAPACITY }}
4649
TEXT_EMBEDDING_MIN_CAPACITY: ${{ env.TEXT_EMBEDDING_MIN_CAPACITY }}
@@ -115,7 +118,7 @@ jobs:
115118
echo "Generated SOLUTION_PREFIX: ${UNIQUE_SOLUTION_PREFIX}"
116119
- name: Determine Tag Name Based on Branch
117120
id: determine_tag
118-
run: echo "tagname=${{ github.ref_name == 'main' && 'latest_waf' || github.ref_name == 'dev' && 'dev' || github.ref_name == 'demo' && 'demo' || github.ref_name == 'dependabotchanges' && 'dependabotchanges' || 'latest_waf' }}" >> $GITHUB_OUTPUT
121+
run: echo "tagname=${{ github.ref_name == 'main' && 'latest_afv2' || github.ref_name == 'dev' && 'dev' || github.ref_name == 'demo' && 'demo' || github.ref_name == 'dependabotchanges' && 'dependabotchanges' || 'latest_afv2' }}" >> $GITHUB_OUTPUT
119122
- name: Deploy Bicep Template
120123
id: deploy
121124
run: |
@@ -127,7 +130,7 @@ jobs:
127130
az deployment group create \
128131
--resource-group ${{ env.RESOURCE_GROUP_NAME }} \
129132
--template-file infra/main.bicep \
130-
--parameters solutionName=${{env.SOLUTION_PREFIX}} location="${{ env.AZURE_LOCATION }}" contentUnderstandingLocation="swedencentral" secondaryLocation="${{ env.AZURE_LOCATION }}" gptDeploymentCapacity=150 aiServiceLocation="${{ env.AZURE_LOCATION }}" createdBy="Pipeline" tags="{'Purpose':'Deploying and Cleaning Up Resources for Validation','CreatedDate':'$current_date'}"
133+
--parameters solutionName=${{env.SOLUTION_PREFIX}} location="${{ env.AZURE_LOCATION }}" secondaryLocation="${{ env.AZURE_LOCATION }}" gptDeploymentCapacity=150 aiServiceLocation="${{ env.AZURE_LOCATION }}" createdBy="Pipeline" tags="{'Purpose':'Deploying and Cleaning Up Resources for Validation','CreatedDate':'$current_date'}"
131134
132135
133136

@@ -191,13 +194,17 @@ jobs:
191194
if: always() && needs.deploy.outputs.RESOURCE_GROUP_NAME != ''
192195
needs: [deploy, e2e-test]
193196
runs-on: ubuntu-latest
197+
environment: production
194198
env:
195199
RESOURCE_GROUP_NAME: ${{ needs.deploy.outputs.RESOURCE_GROUP_NAME }}
196200
steps:
197201
- name: Login to Azure
198-
run: |
199-
az login --service-principal -u ${{ secrets.AZURE_CLIENT_ID }} -p ${{ secrets.AZURE_CLIENT_SECRET }} --tenant ${{ secrets.AZURE_TENANT_ID }}
200-
az account set --subscription "${{ secrets.AZURE_SUBSCRIPTION_ID }}"
202+
uses: azure/login@v2
203+
with:
204+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
205+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
206+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
207+
201208
- name: Extract AI Services and Key Vault Names
202209
if: always()
203210
run: |

0 commit comments

Comments
 (0)