refactor: migrate to Forgejo workflows, normalize env file names, remove GitHub Actions
All checks were successful
Deploy Teams-Browser-Bot / deploy (push) Successful in 37s

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ValueOn AG 2026-05-24 02:34:19 +02:00
parent df01f1d731
commit f5568e1058
4 changed files with 3 additions and 135 deletions

View file

@ -20,8 +20,8 @@ jobs:
- name: Set environment
run: |
cp env-teamsbot-main.env .env
rm -f env-teamsbot-*.env
cp env-main.env .env
rm -f env-*.env
- name: Setup SSH
run: |
@ -45,7 +45,7 @@ jobs:
--exclude 'dist' \
--exclude 'output' \
--exclude '__pycache__' \
--exclude 'env-teamsbot-*.env' \
--exclude 'env-*.env' \
./ ${{ env.SERVER_USER }}@${{ env.SERVER_HOST }}:${{ env.APP_DIR }}/
- name: Build and start container

View file

@ -1,132 +0,0 @@
name: Build and Deploy to ACR
on:
push:
branches:
- main
- dev
workflow_dispatch:
# Cancel in-progress runs when a new run is triggered (saves logs/storage)
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
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@v5
- name: Determine environment
id: env
run: |
if [ "${{ github.ref }}" == "refs/heads/dev" ]; then
echo "env_file=env-teamsbot-dev.env" >> $GITHUB_OUTPUT
else
echo "env_file=env-teamsbot-main.env" >> $GITHUB_OUTPUT
fi
- name: Set environment
run: |
cp ${{ steps.env.outputs.env_file }} .env
rm -f env-teamsbot-*.env
- name: Log in to Azure Container Registry
uses: docker/login-action@v4
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@v6
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@v3
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
echo "Env: \`${{ steps.env.outputs.env_file }}\`" >> $GITHUB_STEP_SUMMARY