1515 - ' tests/**'
1616 schedule :
1717 - cron : " 0 10,22 * * *" # Runs at 10:00 AM and 10:00 PM GMT
18-
18+ permissions :
19+ id-token : write
20+ contents : read
21+ actions : read
1922env :
2023 GPT_CAPACITY : 150
2124 TEXT_EMBEDDING_CAPACITY : 200
2225
2326jobs :
2427 deploy :
2528 runs-on : ubuntu-latest
29+ environment : production
2630 outputs :
2731 RESOURCE_GROUP_NAME : ${{ steps.get_webapp_url.outputs.RESOURCE_GROUP_NAME }}
2832 KUBERNETES_RESOURCE_GROUP_NAME : ${{ steps.get_webapp_url.outputs.KUBERNETES_RESOURCE_GROUP_NAME }}
3539 - name : Checkout Code
3640 uses : actions/checkout@v5 # Checks out your repository
3741
38- - name : Install Azure CLI
39- shell : bash
40- run : |
41- curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
42- az --version # Verify installation
43-
4442 - name : Install Kubernetes CLI (kubectl)
4543 shell : bash
4644 run : |
8280 with :
8381 driver : docker
8482
83+ - name : Login to Azure
84+ uses : azure/login@v2
85+ with :
86+ client-id : ${{ secrets.AZURE_CLIENT_ID }}
87+ tenant-id : ${{ secrets.AZURE_TENANT_ID }}
88+ subscription-id : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
89+ enable-AzPSSession : true
90+
8591 - name : Run Quota Check
8692 id : quota-check
8793 shell : pwsh
@@ -109,9 +115,6 @@ jobs:
109115 }
110116 env :
111117 AZURE_SUBSCRIPTION_ID : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
112- AZURE_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
113- AZURE_CLIENT_ID : ${{ secrets.AZURE_CLIENT_ID }}
114- AZURE_CLIENT_SECRET : ${{ secrets.AZURE_CLIENT_SECRET }}
115118 GPT_MIN_CAPACITY : ${{ env.GPT_CAPACITY }}
116119 TEXT_EMBEDDING_MIN_CAPACITY : ${{ env.TEXT_EMBEDDING_CAPACITY }}
117120 AZURE_REGIONS : " ${{ vars.AZURE_REGIONS }}"
@@ -144,10 +147,8 @@ jobs:
144147 - name : Install Bicep CLI
145148 run : az bicep install
146149
147- - name : Install Azure Developer CLI
148- run : |
149- curl -fsSL https://aka.ms/install-azd.sh | bash
150- shell : bash
150+ - name : Install azd
151+ uses : Azure/setup-azd@v2
151152
152153 - name : Set Deployment Region
153154 run : |
@@ -164,11 +165,6 @@ jobs:
164165 echo "RESOURCE_GROUP_NAME=${UNIQUE_RG_NAME}" >> $GITHUB_ENV
165166 echo "Generated RESOURCE_GROUP_NAME: ${UNIQUE_RG_NAME}"
166167
167- - name : Login to Azure
168- run : |
169- az login --service-principal -u ${{ secrets.AZURE_CLIENT_ID }} -p ${{ secrets.AZURE_CLIENT_SECRET }} --tenant ${{ secrets.AZURE_TENANT_ID }}
170- az account set --subscription ${{ secrets.AZURE_SUBSCRIPTION_ID }}
171-
172168 - name : Check and Create Resource Group
173169 id : check_create_rg
174170 run : |
@@ -223,7 +219,7 @@ jobs:
223219 enableRedundancy=false \
224220 enableScalability=false \
225221 createdBy="Pipeline" \
226- tags="{'SecurityControl':'Ignore',' Purpose':'Deploying and Cleaning Up Resources for Validation','CreatedDate':'$current_date'}"
222+ tags="{'Purpose':'Deploying and Cleaning Up Resources for Validation','CreatedDate':'$current_date'}"
227223
228224 - name : Get Deployment Output and extract Values
229225 id : get_output
@@ -258,11 +254,8 @@ jobs:
258254 Write-Host "Resource Group Name is ${{ env.RESOURCE_GROUP_NAME }}"
259255 Write-Host "Kubernetes resource group is ${{ env.AZURE_AKS_NAME }}"
260256 env :
261- # From GitHub secrets (for login)
257+ # From GitHub secrets
262258 AZURE_SUBSCRIPTION_ID : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
263- AZURE_TENANT_ID : ${{ secrets.AZURE_TENANT_ID }}
264- AZURE_CLIENT_ID : ${{ secrets.AZURE_CLIENT_ID }}
265- AZURE_CLIENT_SECRET : ${{ secrets.AZURE_CLIENT_SECRET }}
266259
267260 # From deployment outputs step (these come from $GITHUB_ENV)
268261 RESOURCE_GROUP_NAME : ${{ env.RESOURCE_GROUP_NAME }}
@@ -298,10 +291,9 @@ jobs:
298291 if az account show &> /dev/null; then
299292 echo "Azure CLI is authenticated."
300293 else
301- echo "Azure CLI is not authenticated. Logging in.. ."
302- az login --service-principal --username ${{ secrets.AZURE_CLIENT_ID }} --password ${{ secrets.AZURE_CLIENT_SECRET }} --tenant ${{ secrets.AZURE_TENANT_ID }}
294+ echo "Azure CLI is not authenticated. Please check the OIDC login step ."
295+ exit 1
303296 fi
304- az account set --subscription ${{ secrets.AZURE_SUBSCRIPTION_ID }}
305297
306298 # Get the Web App URL and save it to GITHUB_OUTPUT
307299 echo "Retrieving Web App URL..."
@@ -356,6 +348,7 @@ jobs:
356348
357349 - name : Run Post Deployment Script
358350 shell : pwsh
351+ continue-on-error : true
359352 run : |
360353 Write-Host "Running post deployment script to upload files..."
361354 cd Deployment
@@ -398,6 +391,7 @@ jobs:
398391 if : always()
399392 needs : [deploy, e2e-test]
400393 runs-on : ubuntu-latest
394+ environment : production
401395 env :
402396 RESOURCE_GROUP_NAME : ${{ needs.deploy.outputs.RESOURCE_GROUP_NAME }}
403397 KUBERNETES_RESOURCE_GROUP_NAME : ${{ needs.deploy.outputs.KUBERNETES_RESOURCE_GROUP_NAME }}
@@ -406,17 +400,12 @@ jobs:
406400 VALID_REGION : ${{ needs.deploy.outputs.VALID_REGION }}
407401
408402 steps :
409- - name : Install Azure CLI
410- shell : bash
411- run : |
412- curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
413- az --version # Verify installation
414-
415403 - name : Login to Azure
416- shell : bash
417- run : |
418- az login --service-principal --username ${{ secrets.AZURE_CLIENT_ID }} --password ${{ secrets.AZURE_CLIENT_SECRET }} --tenant ${{ secrets.AZURE_TENANT_ID }}
419- az account set --subscription "${{ secrets.AZURE_SUBSCRIPTION_ID }}"
404+ uses : azure/login@v2
405+ with :
406+ client-id : ${{ secrets.AZURE_CLIENT_ID }}
407+ tenant-id : ${{ secrets.AZURE_TENANT_ID }}
408+ subscription-id : ${{ secrets.AZURE_SUBSCRIPTION_ID }}
420409
421410 - name : Delete Resource Groups
422411 if : env.RESOURCE_GROUP_NAME != ''
0 commit comments