Skip to content

Commit 487948f

Browse files
Add AZD template validation workflow and update Azure Dev deploy workflow
1 parent 3dd6d83 commit 487948f

2 files changed

Lines changed: 86 additions & 28 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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+
push:
7+
branches:
8+
- psl-pk-tempvalidate
9+
10+
permissions:
11+
contents: read
12+
id-token: write
13+
pull-requests: write
14+
15+
jobs:
16+
template_validation:
17+
runs-on: ubuntu-latest
18+
name: azd template validation
19+
environment: production
20+
steps:
21+
- uses: actions/checkout@v4
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: ${{ vars.AZURE_ENV_NAME }}
34+
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
35+
AZURE_AI_SERVICE_LOCATION: ${{ vars.AZURE_LOCATION }}
36+
AZURE_AI_MODEL_CAPACITY: 1 # keep low to avoid potential quota issues
37+
GITHUB_TOKEN: ${{ secrets.AZD_GITHUB_TOKEN }}
38+
39+
- name: print result
40+
run: cat ${{ steps.validation.outputs.resultFile }}

.github/workflows/azure-dev.yml

Lines changed: 46 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,58 @@
1-
name: Azure Template Validation
1+
name: Azure Dev Deploy
2+
23
on:
34
workflow_dispatch:
5+
push:
6+
branches:
7+
- psl-pk-tempvalidate
48

59
permissions:
610
contents: read
711
id-token: write
8-
pull-requests: write
912

1013
jobs:
11-
template_validation_job:
14+
deploy:
1215
runs-on: ubuntu-latest
1316
environment: production
14-
name: template validation
17+
env:
18+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
19+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
20+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
21+
AZURE_ENV_NAME: ${{ vars.AZURE_ENV_NAME }}
22+
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
23+
AZURE_ENV_OPENAI_LOCATION : ${{ secrets.AZURE_AI_DEPLOYMENT_LOCATION }}
24+
AZURE_ENV_MODEL_CAPACITY: 1
25+
AZURE_ENV_MODEL_4_1_CAPACITY: 1
26+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27+
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
1528
steps:
16-
# Step 1: Checkout the code from your repository
17-
- name: Checkout code
18-
uses: actions/checkout@v4
19-
# Step 2: Validate the Azure template using microsoft/template-validation-action
20-
- name: Validate Azure Template
21-
uses: microsoft/template-validation-action@bae4895d0a8abd4f0d5aad68ae8647b3027f4c91
22-
with:
23-
validateAzd: true
24-
useDevContainer: false
25-
id: validation
26-
env:
27-
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
28-
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
29-
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
30-
AZURE_ENV_NAME: ${{ secrets.AZURE_ENV_NAME }}
31-
AZURE_LOCATION: ${{ secrets.AZURE_LOCATION }}
32-
AZURE_ENV_OPENAI_LOCATION : ${{ secrets.AZURE_AI_DEPLOYMENT_LOCATION }}
33-
AZURE_ENV_MODEL_CAPACITY: 1
34-
AZURE_ENV_MODEL_4_1_CAPACITY: 1
35-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36-
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
29+
- name: Checkout Code
30+
uses: actions/checkout@v4
31+
32+
- name: Install azd
33+
uses: Azure/setup-azd@v2
34+
35+
- name: Login to Azure
36+
uses: azure/login@v2
37+
with:
38+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
39+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
40+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
41+
42+
- name: Login to AZD
43+
shell: bash
44+
run: |
45+
azd auth login \
46+
--client-id "$AZURE_CLIENT_ID" \
47+
--federated-credential-provider "github" \
48+
--tenant-id "$AZURE_TENANT_ID"
3749
38-
# Step 3: Print the result of the validation
39-
- name: print result
40-
run: cat ${{ steps.validation.outputs.resultFile }}
50+
- name: Provision and Deploy
51+
shell: bash
52+
run: |
53+
if ! azd env select "$AZURE_ENV_NAME"; then
54+
azd env new "$AZURE_ENV_NAME" --subscription "$AZURE_SUBSCRIPTION_ID" --location "$AZURE_LOCATION" --no-prompt
55+
fi
56+
azd config set defaults.subscription "$AZURE_SUBSCRIPTION_ID"
57+
azd env set AZURE_ENV_OPENAI_LOCATION="$AZURE_ENV_OPENAI_LOCATION"
58+
azd up --no-prompt

0 commit comments

Comments
 (0)