service-teams-browser-bot/.github/workflows/build-deploy.yml
ValueOn AG 4120a97e9f fix: force revision restart on Azure Container App deploy
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-18 00:56:22 +01:00

77 lines
2.5 KiB
YAML

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: |
# Update with unique revision suffix to force new revision
SUFFIX=$(echo "${{ github.sha }}" | cut -c1-8)
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}"
- name: Verify deployment
uses: azure/cli@v2
with:
azcliversion: latest
inlineScript: |
# Wait for new revision to be active, then restart if needed
sleep 10
LATEST_REVISION=$(az containerapp revision list \
--name ${{ env.CONTAINER_APP_NAME }} \
--resource-group ${{ env.RESOURCE_GROUP }} \
--query "[0].name" -o tsv)
echo "Latest revision: $LATEST_REVISION"
az containerapp revision restart \
--name ${{ env.CONTAINER_APP_NAME }} \
--resource-group ${{ env.RESOURCE_GROUP }} \
--revision "$LATEST_REVISION" || true
- 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