1+ on :
2+ workflow_dispatch :
3+ push :
4+ branches :
5+ - main
6+ paths :
7+ - ' azure.yaml'
8+ - ' infra/**'
9+ - ' src/**'
10+ - ' tests/**'
11+ - ' .github/workflows/azure-dev.yml'
12+
13+ permissions :
14+ id-token : write
15+ contents : read
16+
17+ jobs :
18+ build :
19+ runs-on : ubuntu-latest
20+ env :
21+ AZURE_CLIENT_ID : ${{ vars.AZURE_CLIENT_ID }}
22+ AZURE_TENANT_ID : ${{ vars.AZURE_TENANT_ID }}
23+ AZURE_SUBSCRIPTION_ID : ${{ vars.AZURE_SUBSCRIPTION_ID }}
24+ AZURE_ENV_NAME : ${{ vars.AZURE_ENV_NAME }}
25+ AZURE_LOCATION : ${{ vars.AZURE_LOCATION }}
26+ GITHUB_TOKEN : ${{ secrets.GH_TOKEN }}
27+ GITOPS_REPO : ${{ vars.GITOPS_REPO }}
28+ steps :
29+ - name : Checkout
30+ uses : actions/checkout@v3
31+ - name : Install azd
32+ 33+ - name : pre validation
34+ shell : bash
35+ run : |
36+ for varName in GITHUB_TOKEN AZURE_ENV_NAME AZURE_LOCATION AZURE_SUBSCRIPTION_ID GITOPS_REPO AZURE_TENANT_ID; do
37+ varVal=$(eval echo "\${$varName}")
38+ [[ -z $varVal ]] && {
39+ echo "💥 Error! Required env variable or secret '$varName' is not set!"
40+ envUnset=true
41+ }
42+ done
43+ if [ "$envUnset" = true ]; then
44+ exit 1
45+ fi
46+
47+ - name : Kubectl Install
48+ uses : azure/setup-kubectl@v3
49+
50+ - name : Log in with Azure
51+ if : ${{ env.AZURE_CLIENT_ID != '' }}
52+ run : |
53+ azd auth login --no-prompt `
54+ --client-id "$Env:AZURE_CLIENT_ID" `
55+ --federated-credential-provider "github" `
56+ --tenant-id "$Env:AZURE_TENANT_ID"
57+ shell : pwsh
58+
59+ - name : Azure login (for the preprovision script)
60+ uses : azure/login@v1
61+ with :
62+ client-id : ${{ env.AZURE_CLIENT_ID }}
63+ subscription-id : ${{ env.AZURE_SUBSCRIPTION_ID }}
64+ tenant-id : ${{ env.AZURE_TENANT_ID }}
65+
66+ - name : Github CLI install
67+ run : |
68+ type -p curl >/dev/null || apt install curl -y
69+ sudo curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \
70+ && chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \
71+ && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \
72+ && sudo apt update \
73+ && sudo apt install gh jq gettext-base -y
74+
75+ - name : Azure Dev Provision
76+ run : |
77+ git config --global user.name github-actions
78+ git config --global user.email [email protected] 79+
80+ azd up --no-prompt
0 commit comments