diff --git a/.github/workflows/build-deploy.yml b/.github/workflows/build-deploy.yml deleted file mode 100644 index 7023253..0000000 --- a/.github/workflows/build-deploy.yml +++ /dev/null @@ -1,111 +0,0 @@ -name: Build and Deploy to ACR - -on: - push: - branches: - - main - workflow_dispatch: - -env: - IMAGE_NAME: teams-browser-bot - RESOURCE_GROUP: resource-core - CONTAINER_APP_NAME: cae-poweron-shared - -jobs: - build: - runs-on: ubuntu-latest - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - - - name: Log in to Azure Container Registry - uses: docker/login-action@v3 - with: - registry: ${{ secrets.ACR_LOGIN_SERVER }} - username: ${{ secrets.ACR_USERNAME }} - password: ${{ secrets.ACR_PASSWORD }} - - - name: Build and push Docker image - uses: docker/build-push-action@v5 - with: - context: . - push: true - tags: | - ${{ secrets.ACR_LOGIN_SERVER }}/${{ env.IMAGE_NAME }}:latest - ${{ secrets.ACR_LOGIN_SERVER }}/${{ env.IMAGE_NAME }}:${{ github.sha }} - - - name: Azure Login - uses: azure/login@v2 - with: - creds: ${{ secrets.AZURE_CREDENTIALS }} - - - name: Deploy to Container App - uses: azure/cli@v2 - with: - azcliversion: latest - inlineScript: | - SUFFIX=$(echo "${{ github.sha }}" | cut -c1-8) - - # Update image AND ensure minReplicas=1 so the container actually starts. - # Without --min-replicas 1, Azure scales to zero and the bot never boots. - az containerapp update \ - --name ${{ env.CONTAINER_APP_NAME }} \ - --resource-group ${{ env.RESOURCE_GROUP }} \ - --image ${{ secrets.ACR_LOGIN_SERVER }}/${{ env.IMAGE_NAME }}:${{ github.sha }} \ - --revision-suffix "deploy-${SUFFIX}" \ - --min-replicas 1 \ - --max-replicas 1 - - - name: Verify deployment - uses: azure/cli@v2 - with: - azcliversion: latest - inlineScript: | - sleep 15 - - # Get the revision we just deployed (sorted by creation date, newest first) - EXPECTED_SUFFIX="deploy-$(echo "${{ github.sha }}" | cut -c1-8)" - LATEST_REVISION=$(az containerapp revision list \ - --name ${{ env.CONTAINER_APP_NAME }} \ - --resource-group ${{ env.RESOURCE_GROUP }} \ - --query "sort_by(@, &properties.createdTime) | [-1].name" -o tsv) - echo "Latest revision: $LATEST_REVISION" - - # Check provisioning state - STATE=$(az containerapp revision show \ - --name ${{ env.CONTAINER_APP_NAME }} \ - --resource-group ${{ env.RESOURCE_GROUP }} \ - --revision "$LATEST_REVISION" \ - --query "properties.runningState" -o tsv 2>/dev/null || echo "unknown") - echo "Revision state: $STATE" - - # Activate revision if not running, then restart - if [ "$STATE" != "Running" ]; then - echo "Revision not running yet, activating..." - az containerapp revision activate \ - --name ${{ env.CONTAINER_APP_NAME }} \ - --resource-group ${{ env.RESOURCE_GROUP }} \ - --revision "$LATEST_REVISION" || true - sleep 5 - fi - - az containerapp revision restart \ - --name ${{ env.CONTAINER_APP_NAME }} \ - --resource-group ${{ env.RESOURCE_GROUP }} \ - --revision "$LATEST_REVISION" || true - - # Final status check - sleep 10 - REPLICAS=$(az containerapp revision show \ - --name ${{ env.CONTAINER_APP_NAME }} \ - --resource-group ${{ env.RESOURCE_GROUP }} \ - --revision "$LATEST_REVISION" \ - --query "properties.replicas" -o tsv 2>/dev/null || echo "0") - echo "Running replicas: $REPLICAS" - - - name: Summary - run: | - echo "### Deployed successfully! :rocket:" >> $GITHUB_STEP_SUMMARY - echo "" >> $GITHUB_STEP_SUMMARY - echo "Image: \`${{ secrets.ACR_LOGIN_SERVER }}/${{ env.IMAGE_NAME }}:${{ github.sha }}\`" >> $GITHUB_STEP_SUMMARY