Avoid starting inactive legacy Leo bot on deploy

This commit is contained in:
twentyOne2x 2026-06-26 13:40:50 +02:00
parent b119255d0e
commit a55f0a4500
3 changed files with 19 additions and 3 deletions

View file

@ -112,19 +112,25 @@ add_restart_if_unit_exists() {
add_restart "$1"
fi
}
add_restart_if_unit_active() {
if systemctl is-active --quiet "$1.service"; then
add_restart "$1"
fi
}
if [ "$OLD_SHA" != "none" ]; then
if git diff --name-only "$OLD_SHA" "$NEW_SHA" -- lib/ teleo-pipeline.py reweave.py telegram/ 2>/dev/null | grep -q '\.py$'; then
add_restart teleo-pipeline
fi
if git diff --name-only "$OLD_SHA" "$NEW_SHA" -- telegram/ 2>/dev/null | grep -q '\.py$'; then
add_restart teleo-agent@leo
add_restart_if_unit_active teleo-agent@leo
add_restart_if_unit_exists teleo-agent@leo-wallet-test
fi
if git diff --name-only "$OLD_SHA" "$NEW_SHA" -- diagnostics/ 2>/dev/null | grep -q '\.py$'; then
add_restart teleo-diagnostics
fi
else
RESTART="teleo-pipeline teleo-diagnostics teleo-agent@leo"
RESTART="teleo-pipeline teleo-diagnostics"
add_restart_if_unit_active teleo-agent@leo
add_restart_if_unit_exists teleo-agent@leo-wallet-test
fi

View file

@ -104,6 +104,6 @@ echo "Deploy complete."
if $RESTART; then
echo ""
echo "=== Restarting services ==="
ssh "$VPS_HOST" "sudo systemctl restart teleo-pipeline teleo-diagnostics teleo-agent@leo; if systemctl list-units --all --full teleo-agent@leo-wallet-test.service --no-legend | grep -q .; then sudo systemctl restart teleo-agent@leo-wallet-test; fi"
ssh "$VPS_HOST" "sudo systemctl restart teleo-pipeline teleo-diagnostics; if systemctl is-active --quiet teleo-agent@leo.service; then sudo systemctl restart teleo-agent@leo; fi; if systemctl list-units --all --full teleo-agent@leo-wallet-test.service --no-legend | grep -q .; then sudo systemctl restart teleo-agent@leo-wallet-test; fi"
echo "Services restarted."
fi

View file

@ -20,6 +20,16 @@ def test_deploy_scripts_restart_wallet_test_agent_when_present():
assert "teleo-agent@leo-wallet-test" in manual_deploy
def test_deploy_scripts_do_not_start_inactive_legacy_leo_agent():
auto_deploy = (REPO_ROOT / "deploy" / "auto-deploy.sh").read_text()
manual_deploy = (REPO_ROOT / "deploy" / "deploy.sh").read_text()
assert "add_restart_if_unit_active teleo-agent@leo" in auto_deploy
assert "add_restart teleo-agent@leo" not in auto_deploy
assert "systemctl is-active --quiet teleo-agent@leo.service" in manual_deploy
assert "teleo-pipeline teleo-diagnostics teleo-agent@leo" not in manual_deploy
def test_auto_deploy_prefers_github_remote_when_present():
auto_deploy = (REPO_ROOT / "deploy" / "auto-deploy.sh").read_text()