Fix flaky deploy health check: poll instead of fixed 2s sleep
Deploy to LXC / deploy (push) Has been cancelled

The service can take longer than 2s to finish starting after
restart (DB pool init, etc), so systemctl is-active would
occasionally still report "activating" at the fixed check point --
CI marked the run failed even though the app came up moments later
and was actually fine. Poll for up to 15s instead, and dump service
status on a real failure so debugging doesn't require SSH access.
This commit is contained in:
2026-07-01 11:44:36 +07:00
parent 01107c414e
commit 193673a9ce
+11 -2
View File
@@ -62,5 +62,14 @@ jobs:
sudo systemctl restart bflr
echo "==> Waiting for startup..."
sleep 2
systemctl is-active --quiet bflr && echo "Deploy successful!" || (echo "Service failed to start!" && exit 1)
for i in $(seq 1 15); do
if systemctl is-active --quiet bflr; then
echo "Deploy successful!"
exit 0
fi
sleep 1
done
echo "Service failed to start!"
sudo systemctl status bflr --no-pager -l || true
exit 1