Replace UBI with ETH reserve in ring buffer, fix Dockerfile HEALTHCHECK, enhance LiveStats (#154)

This commit is contained in:
johba 2026-02-19 14:47:15 +01:00
parent 31063379a8
commit 76b2635e63
16 changed files with 2028 additions and 89 deletions

View file

@ -166,7 +166,14 @@ services:
exit 1
fi
echo "=== Starting webapp (pre-built image) ==="
# Overlay webapp source from workspace (ensures CI tests current branch)
echo "=== Overlaying webapp source from workspace ==="
if [ -d "$WS/web-app/src" ]; then
cp -r "$WS/web-app/src/." /app/web-app/src/
echo "webapp/src updated from workspace"
fi
echo "=== Starting webapp (pre-built image + source overlay) ==="
cd /app/web-app
# Explicitly set CI=true to disable Vue DevTools in vite.config.ts
# (prevents 500 errors from devtools path resolution in CI environment)
@ -180,7 +187,14 @@ services:
commands:
- |
set -eu
echo "=== Starting landing (pre-built image) ==="
# Overlay landing source from workspace
WS="${CI_WORKSPACE:-$(pwd)}"
if [ -d "$WS/landing/src" ]; then
cp -r "$WS/landing/src/." /app/landing/src/
echo "landing/src updated from workspace"
fi
echo "=== Starting landing (pre-built image + source overlay) ==="
cd /app/landing
exec npm run dev -- --host 0.0.0.0 --port 5174
@ -273,17 +287,20 @@ steps:
echo "=== Waiting for stack to be healthy (max 7 min) ==="
bash scripts/wait-for-service.sh http://ponder:42069/health 420 ponder
# Extra: wait for ponder GraphQL to actually serve data
echo "=== Waiting for Ponder GraphQL to respond ==="
for i in $(seq 1 60); do
if curl -sf --max-time 3 -X POST http://ponder:42069/graphql \
-H 'Content-Type: application/json' \
-d '{"query":"{ statss(limit:1) { items { id } } }"}' > /dev/null 2>&1; then
echo "[wait] Ponder GraphQL ready after $((i * 5))s"
# Wait for ponder to finish historical indexing (not just respond)
# /ready returns 200 only when fully synced, 503 while indexing
echo "=== Waiting for Ponder indexing to complete ==="
for i in $(seq 1 120); do
HTTP_CODE=$(curl -sf -o /dev/null -w '%{http_code}' --max-time 3 http://ponder:42069/ready 2>/dev/null || echo "000")
if [ "$HTTP_CODE" = "200" ]; then
echo "[wait] Ponder fully indexed after $((i * 3))s"
break
fi
echo "[wait] ($i/60) Ponder GraphQL not ready..."
sleep 5
if [ "$i" = "120" ]; then
echo "[wait] WARNING: Ponder not fully indexed after 360s, continuing anyway"
fi
echo "[wait] ($i/120) Ponder indexing... (HTTP $HTTP_CODE)"
sleep 3
done
bash scripts/wait-for-service.sh http://webapp:5173/app/ 420 webapp
bash scripts/wait-for-service.sh http://landing:5174/ 420 landing