Skip to content

Commit 78c93d6

Browse files
Merge pull request #803 from microsoft/dev
chore: Dev to Main merge
2 parents 54b1b90 + 39dab72 commit 78c93d6

Some content is hidden

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

46 files changed

+14026
-785
lines changed

.env.sample

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,16 +23,16 @@ AZURE_AI_IMAGE_MODEL_DEPLOYMENT=gpt-image-1-mini
2323
# Azure OpenAI Configuration
2424
# =============================================================================
2525
AI_FOUNDRY_RESOURCE_ID=/subscriptions/your-subscription-id/resourceGroups/your-resource-group/providers/Microsoft.CognitiveServices/accounts/your-aif-account
26-
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID=/subscriptions/your-subscription-id/resourceGroups/your-resource-group/providers/Microsoft.CognitiveServices/accounts/your-aif-account/projects/your-project-name
26+
AZURE_EXISTING_AIPROJECT_RESOURCE_ID=/subscriptions/your-subscription-id/resourceGroups/your-resource-group/providers/Microsoft.CognitiveServices/accounts/your-aif-account/projects/your-project-name
2727
# Your Azure OpenAI endpoint (e.g., https://your-resource.openai.azure.com/)
2828
AZURE_OPENAI_ENDPOINT=https://your-openai.openai.azure.com/
2929

3030
# Model deployments
31-
AZURE_OPENAI_GPT_MODEL=gpt-5.1
31+
AZURE_ENV_GPT_MODEL_NAME=gpt-5.1
3232

3333
# Image Generation Model Configuration
3434
# Supported models: gpt-image-1-mini or gpt-image-1.5
35-
AZURE_OPENAI_IMAGE_MODEL=gpt-image-1-mini
35+
AZURE_ENV_IMAGE_MODEL_NAME=gpt-image-1-mini
3636

3737
# For gpt-image-1-mini or gpt-image-1.5, the endpoint is the same as the main OpenAI endpoint, but you can specify a different one if needed
3838
AZURE_OPENAI_GPT_IMAGE_ENDPOINT=https://your-openai.openai.azure.com
@@ -43,7 +43,7 @@ AZURE_OPENAI_IMAGE_SIZE=1024x1024
4343
AZURE_OPENAI_IMAGE_QUALITY=medium
4444

4545
# API versions
46-
AZURE_OPENAI_API_VERSION=2024-06-01
46+
AZURE_ENV_OPENAI_API_VERSION=2024-06-01
4747
AZURE_OPENAI_PREVIEW_API_VERSION=2024-02-01
4848

4949
# Generation parameters
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
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+
jobs:
12+
template_validation:
13+
runs-on: ubuntu-latest
14+
environment: production
15+
name: azd template validation
16+
env:
17+
GH_TOKEN: ${{ github.token }}
18+
steps:
19+
- uses: actions/checkout@v4
20+
21+
- name: Set timestamp
22+
shell: bash
23+
run: echo "HHMM=$(date -u +'%H%M')" >> "$GITHUB_ENV"
24+
25+
- name: Validate Azure Template
26+
uses: microsoft/template-validation-action@v0.4.3
27+
with:
28+
validateAzd: ${{ vars.TEMPLATE_VALIDATE_AZD }}
29+
validateTests: ${{ vars.TEMPLATE_VALIDATE_TESTS }}
30+
useDevContainer: ${{ vars.TEMPLATE_USE_DEV_CONTAINER }}
31+
id: validation
32+
env:
33+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
34+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
35+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
36+
AZURE_ENV_NAME: ${{ secrets.AZURE_ENV_NAME }}-${{ env.HHMM }}
37+
AZURE_LOCATION: ${{ secrets.AZURE_LOCATION }}
38+
AZURE_ENV_AI_SERVICE_LOCATION: ${{ secrets.AZURE_ENV_AI_SERVICE_LOCATION }}
39+
AZURE_AI_MODEL_CAPACITY: 1
40+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
41+
42+
- name: print result
43+
run: cat ${{ steps.validation.outputs.resultFile }}

.github/workflows/azure-dev.yml

Lines changed: 61 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,80 @@
1-
name: Azure Template Validation
1+
name: Azure Dev Deploy
22
on:
33
workflow_dispatch:
44
push:
55
branches:
66
- main
7+
paths:
8+
- 'infra/**'
9+
- 'azure*.yaml'
10+
- '.github/workflows/azure-dev.yml'
11+
712

813
permissions:
914
contents: read
1015
id-token: write
11-
pull-requests: write
1216

1317
jobs:
14-
template_validation_job:
18+
deploy:
1519
runs-on: ubuntu-latest
20+
name: azd deploy
1621
environment: production
17-
name: Template validation
18-
22+
env:
23+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
24+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
25+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
26+
AZURE_ENV_NAME: ${{ secrets.AZURE_ENV_NAME }}
27+
AZURE_LOCATION: ${{ secrets.AZURE_LOCATION }}
28+
AZURE_ENV_AI_SERVICE_LOCATION: ${{ secrets.AZURE_ENV_AI_SERVICE_LOCATION }}
29+
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ secrets.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
30+
AZURE_EXISTING_AIPROJECT_RESOURCE_ID: ${{ secrets.AZURE_EXISTING_AIPROJECT_RESOURCE_ID }}
31+
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
32+
1933
steps:
20-
# Step 1: Checkout the code from your repository
21-
- name: Checkout code
34+
- name: Checkout Code
2235
uses: actions/checkout@v4
2336

24-
# Step 2: Pre-authenticate Azure for azd validation
25-
- name: Login to Azure
37+
- name: Set timestamp and env name
2638
shell: bash
2739
run: |
28-
az login --service-principal -u "${{ secrets.AZURE_CLIENT_ID }}" -p "${{ secrets.AZURE_CLIENT_SECRET }}" --tenant "${{ secrets.AZURE_TENANT_ID }}"
29-
az account set --subscription "${{ secrets.AZURE_SUBSCRIPTION_ID }}"
30-
31-
# Step 3: Validate the Azure template using microsoft/template-validation-action
32-
- name: Validate Azure Template
33-
uses: microsoft/template-validation-action@v0.4.3
40+
HHMM=$(date -u +'%H%M')
41+
echo "AZURE_ENV_NAME=${AZURE_ENV_NAME}-${HHMM}" >> "$GITHUB_ENV"
42+
43+
- name: Install azd
44+
uses: Azure/setup-azd@v2
45+
46+
- name: Login to Azure
47+
uses: azure/login@v2
3448
with:
35-
workingDirectory: .
36-
validateAzd: ${{ vars.TEMPLATE_VALIDATE_AZD }}
37-
useDevContainer: ${{ vars.TEMPLATE_USE_DEV_CONTAINER }}
38-
validateTests: ${{ vars.TEMPLATE_VALIDATE_TESTS }}
39-
id: validation
40-
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 }}
44-
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
45-
AZURE_ENV_NAME: ${{ secrets.AZURE_ENV_NAME }}
46-
AZURE_LOCATION: ${{ secrets.AZURE_LOCATION }}
47-
AZURE_ENV_OPENAI_LOCATION: ${{ secrets.AZURE_ENV_OPENAI_LOCATION }}
48-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
49-
50-
# Step 4: Print the result of the validation
51-
- name: Print result
52-
run: cat ${{ steps.validation.outputs.resultFile }}
49+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
50+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
51+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
52+
53+
- name: Login to AZD
54+
shell: bash
55+
run: |
56+
azd auth login \
57+
--client-id "$AZURE_CLIENT_ID" \
58+
--federated-credential-provider "github" \
59+
--tenant-id "$AZURE_TENANT_ID"
60+
61+
- name: Provision and Deploy
62+
shell: bash
63+
run: |
64+
if ! azd env select "$AZURE_ENV_NAME"; then
65+
azd env new "$AZURE_ENV_NAME" --subscription "$AZURE_SUBSCRIPTION_ID" --location "$AZURE_LOCATION" --no-prompt
66+
fi
67+
68+
azd config set defaults.subscription "$AZURE_SUBSCRIPTION_ID"
69+
70+
71+
if [[ -n "${AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID:-}" ]]; then
72+
azd env set AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID "$AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID"
73+
fi
74+
75+
if [[ -n "${AZURE_EXISTING_AIPROJECT_RESOURCE_ID:-}" ]]; then
76+
azd env set AZURE_EXISTING_AIPROJECT_RESOURCE_ID "$AZURE_EXISTING_AIPROJECT_RESOURCE_ID"
77+
fi
78+
79+
azd up --no-prompt
80+

.github/workflows/codeql.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@ on:
1414
schedule:
1515
- cron: '17 11 * * 0'
1616

17+
concurrency:
18+
group: codeql-${{ github.ref }}
19+
cancel-in-progress: true
20+
1721
jobs:
1822
analyze:
1923
name: Analyze

.github/workflows/deploy-orchestrator.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,12 +42,12 @@ on:
4242
required: false
4343
default: 'GoldenPath-Testing'
4444
type: string
45-
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID:
45+
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID:
4646
description: 'Log Analytics Workspace ID (Optional)'
4747
required: false
4848
default: ''
4949
type: string
50-
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID:
50+
AZURE_EXISTING_AIPROJECT_RESOURCE_ID:
5151
description: 'AI Project Resource ID (Optional)'
5252
required: false
5353
default: ''
@@ -61,7 +61,7 @@ on:
6161
description: 'Trigger type (workflow_dispatch, pull_request, schedule)'
6262
required: true
6363
type: string
64-
image_model_choice:
64+
AZURE_ENV_IMAGE_MODEL_NAME:
6565
description: 'Image model to deploy (gpt-image-1-mini, gpt-image-1.5, none)'
6666
required: false
6767
default: 'gpt-image-1-mini'
@@ -91,12 +91,12 @@ jobs:
9191
EXP: ${{ inputs.EXP }}
9292
build_docker_image: ${{ inputs.build_docker_image }}
9393
existing_webapp_url: ${{ inputs.existing_webapp_url }}
94-
AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID: ${{ inputs.AZURE_ENV_LOG_ANALYTICS_WORKSPACE_ID }}
95-
AZURE_EXISTING_AI_PROJECT_RESOURCE_ID: ${{ inputs.AZURE_EXISTING_AI_PROJECT_RESOURCE_ID }}
96-
docker_image_tag: ${{ needs.docker-build.outputs.IMAGE_TAG }}
94+
AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID: ${{ inputs.AZURE_ENV_EXISTING_LOG_ANALYTICS_WORKSPACE_RID }}
95+
AZURE_EXISTING_AIPROJECT_RESOURCE_ID: ${{ inputs.AZURE_EXISTING_AIPROJECT_RESOURCE_ID }}
96+
docker_image_tag: ${{ needs.docker-build.outputs.AZURE_ENV_IMAGE_TAG }}
9797
run_e2e_tests: ${{ inputs.run_e2e_tests }}
9898
cleanup_resources: ${{ inputs.cleanup_resources }}
99-
image_model_choice: ${{ inputs.image_model_choice }}
99+
AZURE_ENV_IMAGE_MODEL_NAME: ${{ inputs.AZURE_ENV_IMAGE_MODEL_NAME }}
100100
secrets: inherit
101101

102102
e2e-test:
@@ -119,9 +119,9 @@ jobs:
119119
existing_webapp_url: ${{ inputs.existing_webapp_url }}
120120
RESOURCE_GROUP_NAME: ${{ needs.deploy.outputs.RESOURCE_GROUP_NAME }}
121121
AZURE_LOCATION: ${{ needs.deploy.outputs.AZURE_LOCATION }}
122-
AZURE_ENV_OPENAI_LOCATION: ${{ needs.deploy.outputs.AZURE_ENV_OPENAI_LOCATION }}
122+
AZURE_ENV_AI_SERVICE_LOCATION: ${{ needs.deploy.outputs.AZURE_ENV_AI_SERVICE_LOCATION }}
123123
ENV_NAME: ${{ needs.deploy.outputs.ENV_NAME }}
124-
IMAGE_TAG: ${{ needs.deploy.outputs.IMAGE_TAG }}
124+
AZURE_ENV_IMAGE_TAG: ${{ needs.deploy.outputs.AZURE_ENV_IMAGE_TAG }}
125125
secrets: inherit
126126

127127
send-notification:

0 commit comments

Comments
 (0)