Skip to content

Commit 54002b4

Browse files
Merge pull request #155 from microsoft/cont-psl-validation
feat: Add weekly schedule for Azure Template validation,split azure-dev to azure-dev,azd-template
2 parents a127c41 + b9b7ce1 commit 54002b4

2 files changed

Lines changed: 75 additions & 20 deletions

File tree

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
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:
14+
runs-on: ubuntu-latest
15+
name: azd template validation
16+
environment: production
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- uses: microsoft/template-validation-action@v0.4.3
21+
with:
22+
validateAzd: ${{ vars.TEMPLATE_VALIDATE_AZD }}
23+
validateTests: ${{ vars.TEMPLATE_VALIDATE_TESTS }}
24+
useDevContainer: ${{ vars.TEMPLATE_USE_DEV_CONTAINER }}
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: ${{ vars.AZURE_ENV_NAME }}
31+
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
32+
AZURE_AI_SERVICE_LOCATION: ${{ vars.AZURE_LOCATION }}
33+
AZURE_AI_MODEL_CAPACITY: 1 # keep low to avoid potential quota issues
34+
GITHUB_TOKEN: ${{ secrets.AZD_GITHUB_TOKEN }}
35+
36+
- name: print result
37+
run: cat ${{ steps.validation.outputs.resultFile }}

.github/workflows/azure-dev.yml

Lines changed: 38 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,51 @@
1-
name: AZD Template Validation
1+
name: Azure Dev Deploy
2+
23
on:
34
workflow_dispatch:
45

56
permissions:
67
contents: read
78
id-token: write
8-
pull-requests: write
99

1010
jobs:
11-
template_validation:
11+
deploy:
1212
runs-on: ubuntu-latest
13-
name: azd template validation
14-
environment: azd-template-gallery
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_ENV_NAME: ${{ vars.AZURE_ENV_NAME }}
19+
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
20+
AZURE_DEV_COLLECT_TELEMETRY: ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
1521
steps:
16-
- uses: actions/checkout@v4
22+
- name: Checkout Code
23+
uses: actions/checkout@v4
24+
25+
- name: Install azd
26+
uses: Azure/setup-azd@v2
1727

18-
- uses: microsoft/template-validation-action@v0.4.3
28+
- name: Login to Azure
29+
uses: azure/login@v2
1930
with:
20-
validateAzd: ${{ vars.AZD_VALIDATE }}
21-
useDevContainer: ${{ vars.AZD_USE_DEV_CONTAINER }}
22-
id: validation
23-
env:
24-
AZURE_CLIENT_ID: ${{ vars.AZURE_CLIENT_ID }}
25-
AZURE_TENANT_ID: ${{ vars.AZURE_TENANT_ID }}
26-
AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }}
27-
AZURE_ENV_NAME: ${{ vars.AZURE_ENV_NAME }}
28-
AZURE_LOCATION: ${{ vars.AZURE_LOCATION }}
29-
AZURE_AI_MODEL_CAPACITY: 1 # keep low to avoid potential quota issues
30-
GITHUB_TOKEN: ${{ secrets.AZD_GITHUB_TOKEN }}
31+
client-id: ${{ secrets.AZURE_CLIENT_ID }}
32+
tenant-id: ${{ secrets.AZURE_TENANT_ID }}
33+
subscription-id: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
34+
35+
- name: Login to AZD
36+
shell: bash
37+
run: |
38+
azd auth login \
39+
--client-id "$AZURE_CLIENT_ID" \
40+
--federated-credential-provider "github" \
41+
--tenant-id "$AZURE_TENANT_ID"
3142
32-
- name: print result
33-
run: cat ${{ steps.validation.outputs.resultFile }}
43+
- name: Provision and Deploy
44+
shell: bash
45+
run: |
46+
if ! azd env select "$AZURE_ENV_NAME"; then
47+
azd env new "$AZURE_ENV_NAME" --subscription "$AZURE_SUBSCRIPTION_ID" --location "$AZURE_LOCATION" --no-prompt
48+
fi
49+
azd config set defaults.subscription "$AZURE_SUBSCRIPTION_ID"
50+
azd env set AZURE_AI_SERVICE_LOCATION="$AZURE_LOCATION"
51+
azd up --no-prompt

0 commit comments

Comments
 (0)