1- name : AZD Template Validation
1+ name : Azure Dev Deploy
2+
23on :
34 workflow_dispatch :
45
56permissions :
67 contents : read
78 id-token : write
8- pull-requests : write
99
1010jobs :
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