1- name : Azure Template Validation
1+ name : Azure Dev Deploy
2+
23on :
34 workflow_dispatch :
5+ push :
6+ branches :
7+ - psl-pk-tempvalidate
48
59permissions :
610 contents : read
711 id-token : write
8- pull-requests : write
912
1013jobs :
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