Skip to content

Commit 7f3d3c7

Browse files
feat: Add weekly schedule for Azure Template validation,split azure-dev to azd-template-validation
1 parent e6b1d36 commit 7f3d3c7

File tree

2 files changed

+81
-25
lines changed

2 files changed

+81
-25
lines changed
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-weeklyschedule-cps
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.yaml

Lines changed: 41 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,54 @@
1-
name: Azure Template Validation
1+
name: Azure Dev Deploy
2+
23
on:
34
workflow_dispatch:
5+
push:
6+
branches:
7+
- psl-weeklyschedule-cps
48

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

1013
jobs:
11-
template_validation_job:
12-
environment: production
14+
deploy:
1315
runs-on: ubuntu-latest
14-
name: Template validation
15-
16+
environment: production
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_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
1624
steps:
17-
# Step 1: Checkout the code from your repository
18-
- name: Checkout code
19-
uses: actions/checkout@v5
25+
- name: Checkout Code
26+
uses: actions/checkout@v4
27+
28+
- name: Install azd
29+
uses: Azure/setup-azd@v2
2030

21-
# Step 2: Validate the Azure template using microsoft/template-validation-action
22-
- name: Validate Azure Template
23-
uses: microsoft/template-validation-action@v0.4.3
24-
id: validation
31+
- name: Login to Azure
32+
uses: azure/login@v2
2533
with:
26-
useDevContainer: false
27-
env:
28-
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
29-
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
30-
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
31-
AZURE_ENV_NAME: ${{ secrets.AZURE_ENV_NAME }}
32-
AZURE_LOCATION: ${{ secrets.AZURE_LOCATION }}
33-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
34-
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
34+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
35+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
36+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
37+
38+
- name: Login to AZD
39+
shell: bash
40+
run: |
41+
azd auth login \
42+
--client-id "$AZURE_CLIENT_ID" \
43+
--federated-credential-provider "github" \
44+
--tenant-id "$AZURE_TENANT_ID"
3545
36-
# Step 3: Print the result of the validation
37-
- name: Print result
38-
run: cat ${{ steps.validation.outputs.resultFile }}
46+
- name: Provision and Deploy
47+
shell: bash
48+
run: |
49+
if ! azd env select "$AZURE_ENV_NAME"; then
50+
azd env new "$AZURE_ENV_NAME" --subscription "$AZURE_SUBSCRIPTION_ID" --location "$AZURE_LOCATION" --no-prompt
51+
fi
52+
azd config set defaults.subscription "$AZURE_SUBSCRIPTION_ID"
53+
azd env set AZURE_AI_SERVICE_LOCATION="$AZURE_LOCATION"
54+
azd up --no-prompt

0 commit comments

Comments
 (0)