11name : Azure Template Validation
22on :
33 workflow_dispatch :
4-
4+ push :
5+ branches :
6+ - main
7+
58permissions :
69 contents : read
710 id-token : write
811 pull-requests : write
9-
12+
1013jobs :
1114 template_validation_job :
1215 runs-on : ubuntu-latest
16+ environment : production
1317 name : Template validation
14-
18+
1519 steps :
1620 # Step 1: Checkout the code from your repository
1721 - name : Checkout code
1822 uses : actions/checkout@v4
1923
20- # Step 2: Validate the Azure template using microsoft/template-validation-action
24+ # Step 2: Pre-authenticate Azure for azd validation
25+ - name : Login to Azure
26+ shell : bash
27+ run : |
28+ az login --service-principal -u "${{ secrets.AZURE_CLIENT_ID }}" -p "${{ secrets.AZURE_CLIENT_SECRET }}" --tenant "${{ secrets.AZURE_TENANT_ID }}"
29+ az account set --subscription "${{ secrets.AZURE_SUBSCRIPTION_ID }}"
30+
31+ # Step 3: Validate the Azure template using microsoft/template-validation-action
2132 - name : Validate Azure Template
2233 uses : microsoft/template-validation-action@v0.4.3
23- id : validation
2434 with :
25- workingDirectory : ./content-gen
35+ workingDirectory : .
36+ validateAzd : ${{ vars.TEMPLATE_VALIDATE_AZD }}
37+ useDevContainer : ${{ vars.TEMPLATE_USE_DEV_CONTAINER }}
38+ validateTests : ${{ vars.TEMPLATE_VALIDATE_TESTS }}
39+ id : validation
2640 env :
2741 AZURE_CLIENT_ID : ${{ secrets.AZURE_CLIENT_ID }}
2842 AZURE_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
43+ AZURE_CLIENT_SECRET : ${{ secrets.AZURE_CLIENT_SECRET }}
2944 AZURE_SUBSCRIPTION_ID : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
3045 AZURE_ENV_NAME : ${{ secrets.AZURE_ENV_NAME }}
3146 AZURE_LOCATION : ${{ secrets.AZURE_LOCATION }}
47+ AZURE_ENV_OPENAI_LOCATION : ${{ secrets.AZURE_ENV_OPENAI_LOCATION }}
3248 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
33-
34- # Step 3 : Print the result of the validation
49+
50+ # Step 4 : Print the result of the validation
3551 - name : Print result
36- run : cat ${{ steps.validation.outputs.resultFile }}
52+ run : cat ${{ steps.validation.outputs.resultFile }}
0 commit comments