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_LOCATION : ${{ vars.AZURE_LOCATION }}
19+ AZURE_DEV_COLLECT_TELEMETRY : ${{ vars.AZURE_DEV_COLLECT_TELEMETRY }}
1520 steps :
16- - uses : actions/checkout@v4
21+ - name : Checkout Code
22+ uses : actions/checkout@v4
23+
24+ - name : Set timestamp and env name
25+ shell : bash
26+ run : |
27+ HHMM=$(date -u +'%H%M')
28+ echo "AZURE_ENV_NAME=azd-${{ vars.AZURE_ENV_NAME }}-${HHMM}" >> $GITHUB_ENV
29+
30+ - name : Install azd
31+ uses : Azure/setup-azd@v2
1732
18- - uses : microsoft/template-validation-action@v0.4.3
33+ - name : Login to Azure
34+ uses : azure/login@v2
1935 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-
32- - name : print result
33- run : cat ${{ steps.validation.outputs.resultFile }}
36+ client-id : ${{ secrets.AZURE_CLIENT_ID }}
37+ tenant-id : ${{ secrets.AZURE_TENANT_ID }}
38+ subscription-id : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
39+
40+ - name : Login to AZD
41+ shell : bash
42+ run : |
43+ azd auth login \
44+ --client-id "$AZURE_CLIENT_ID" \
45+ --federated-credential-provider "github" \
46+ --tenant-id "$AZURE_TENANT_ID"
47+
48+ - name : Provision and Deploy
49+ shell : bash
50+ run : |
51+ if ! azd env select "$AZURE_ENV_NAME"; then
52+ azd env new "$AZURE_ENV_NAME" --subscription "$AZURE_SUBSCRIPTION_ID" --location "$AZURE_LOCATION" --no-prompt
53+ fi
54+ azd config set defaults.subscription "$AZURE_SUBSCRIPTION_ID"
55+ azd env set AZURE_AI_SERVICE_LOCATION="$AZURE_LOCATION"
56+ azd up --no-prompt
0 commit comments