Skip to content

Commit 643204a

Browse files
Optimize resource group deletion in cleanup job for faster execution
1 parent d411f02 commit 643204a

1 file changed

Lines changed: 30 additions & 24 deletions

File tree

.github/workflows/deploy-v2-windows.yml

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -823,29 +823,27 @@ jobs:
823823
run: |
824824
azd auth login --client-id ${{ secrets.AZURE_CLIENT_ID }} --client-secret ${{ secrets.AZURE_CLIENT_SECRET }} --tenant-id ${{ secrets.AZURE_TENANT_ID }}
825825
azd config set defaults.subscription ${{ secrets.AZURE_SUBSCRIPTION_ID }}
826-
- name: Select Environment and Delete deployment using azd
826+
827+
- name: Delete Resource Group Directly (Optimized Cleanup)
827828
continue-on-error: true
828-
timeout-minutes: 2
829829
shell: bash
830+
id: delete_rg
830831
run: |
831832
set -e
832-
# Try to select the environment if it exists, otherwise create a minimal environment for cleanup
833-
azd env list
834-
if azd env list | grep -q "${{ env.ENV_NAME }}"; then
835-
echo "Environment ${{ env.ENV_NAME }} found, selecting it..."
836-
azd env select ${{ env.ENV_NAME }}
837-
else
838-
echo "Environment ${{ env.ENV_NAME }} not found, creating minimal environment for cleanup..."
839-
azd env new ${{ env.ENV_NAME }} --no-prompt
840-
azd env set AZURE_RESOURCE_GROUP "${{ env.RESOURCE_GROUP_NAME }}"
841-
azd env set AZURE_SUBSCRIPTION_ID "${{ secrets.AZURE_SUBSCRIPTION_ID }}"
842-
azd env set AZURE_ENV_AI_DEPLOYMENTS_LOCATION="${{ env.AZURE_ENV_OPENAI_LOCATION }}"
843-
azd env set AZURE_LOCATION="${{ env.AZURE_LOCATION }}"
844-
fi
845-
846-
echo "Deleting deployment..."
847-
azd down --purge --force --no-prompt || echo "⚠️ Cleanup command completed with warnings or errors"
848-
echo "Deployment cleanup initiated."
833+
echo "🗑️ Starting optimized resource cleanup..."
834+
835+
# Direct resource group deletion is much faster than azd down
836+
# This approach deletes all resources in parallel
837+
echo "Deleting resource group: ${{ env.RESOURCE_GROUP_NAME }}"
838+
839+
# Use --no-wait for async deletion (faster) or remove it for synchronous
840+
az group delete \
841+
--name "${{ env.RESOURCE_GROUP_NAME }}" \
842+
--yes \
843+
--no-wait
844+
845+
echo "✅ Resource group deletion initiated"
846+
echo "Note: Resources will be cleaned up in the background"
849847
850848
- name: Logout from Azure
851849
if: always()
@@ -863,12 +861,20 @@ jobs:
863861
echo "" >> $GITHUB_STEP_SUMMARY
864862
echo "| Field | Value |" >> $GITHUB_STEP_SUMMARY
865863
echo "|-------|--------|" >> $GITHUB_STEP_SUMMARY
866-
echo "| **Job Status** | ✅ Completed |" >> $GITHUB_STEP_SUMMARY
864+
echo "| **Job Status** | ${{ job.status == 'success' && '✅ Success' || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY
865+
echo "| **Deletion Step Status** | ${{ steps.delete_rg.outcome == 'success' && '✅ Success' || '❌ Failed' }} |" >> $GITHUB_STEP_SUMMARY
867866
echo "| **Resource Group** | \`${{ env.RESOURCE_GROUP_NAME }}\` |" >> $GITHUB_STEP_SUMMARY
868867
echo "| **Azure Region (Infrastructure)** | \`${{ env.AZURE_LOCATION }}\` |" >> $GITHUB_STEP_SUMMARY
869868
echo "| **Azure OpenAI Region** | \`${{ env.AZURE_ENV_OPENAI_LOCATION }}\` |" >> $GITHUB_STEP_SUMMARY
870869
echo "" >> $GITHUB_STEP_SUMMARY
871-
echo "### 🗑️ Cleanup Details" >> $GITHUB_STEP_SUMMARY
872-
echo "- Cleanup process initiated for deployment using \`azd down --purge\`" >> $GITHUB_STEP_SUMMARY
873-
echo "- Resource group \`${{ env.RESOURCE_GROUP_NAME }}\` cleanup initiated" >> $GITHUB_STEP_SUMMARY
874-
echo "- ℹ️ Note: Cleanup may continue in the background if it exceeds the timeout" >> $GITHUB_STEP_SUMMARY
870+
if [[ "${{ steps.delete_rg.outcome }}" == "success" ]]; then
871+
echo "### ✅ Cleanup Details" >> $GITHUB_STEP_SUMMARY
872+
echo "- Successfully initiated deletion for Resource Group \`${{ env.RESOURCE_GROUP_NAME }}\`" >> $GITHUB_STEP_SUMMARY
873+
echo "" >> $GITHUB_STEP_SUMMARY
874+
else
875+
echo "### ❌ Cleanup Failed" >> $GITHUB_STEP_SUMMARY
876+
echo "- Cleanup process encountered an error" >> $GITHUB_STEP_SUMMARY
877+
echo "- Manual cleanup may be required for:" >> $GITHUB_STEP_SUMMARY
878+
echo " - Resource Group: \`${{ env.RESOURCE_GROUP_NAME }}\`" >> $GITHUB_STEP_SUMMARY
879+
echo "- Check the cleanup-deployment job logs for detailed error information" >> $GITHUB_STEP_SUMMARY
880+
fi

0 commit comments

Comments
 (0)