Files
encoach_backend_new_v2/.gitea/workflows/deploy.yml
devops 4e4202742f
Some checks failed
Deploy Backend to Staging / Deploy backend to staging (push) Failing after 2s
ci: fix workflow - remove concurrency, use retry smoke test
2026-04-26 12:14:20 +02:00

49 lines
1.6 KiB
YAML

name: Deploy Backend to Staging
on:
push:
branches: [main]
jobs:
deploy:
name: Deploy backend to staging
runs-on: self-hosted
steps:
- name: Pull latest code
run: |
cd /opt/encoach/encoach_backend_new_v2
git fetch origin
git reset --hard origin/main
echo "Deployed: $(git log -1 --oneline)"
- name: Rebuild and restart containers
run: |
cd /opt/encoach/encoach_backend_new_v2
docker compose \
-f docker-compose.yml \
-f /opt/encoach/overrides/encoach.override.yml \
up -d --build --remove-orphans
- name: Smoke test (wait up to 3 min for Odoo)
run: |
echo "Polling Odoo /api/health (max 180s)..."
for i in $(seq 1 18); do
STATUS=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 http://localhost:8069/api/health 2>/dev/null || echo "000")
if [ "$STATUS" = "200" ]; then
echo "Odoo is healthy after $((i*10))s"
break
fi
echo " attempt $i: $STATUS — waiting 10s..."
sleep 10
done
if [ "$STATUS" != "200" ]; then
echo "ERROR: Odoo /api/health still $STATUS after 180s"
exit 1
fi
FE=$(curl -s -o /dev/null -w "%{http_code}" --max-time 10 http://localhost:3000/ 2>/dev/null || echo "000")
if [ "$FE" != "200" ]; then
echo "ERROR: Frontend returned $FE"
exit 1
fi
echo "All OK — Odoo=200 Frontend=$FE"