Fix: Hermes-Update meldet Fehlschlag jetzt ehrlich (rc-Maskierung entfernt)
Befund 08.07.: 'hermes update' scheiterte real an einem verwaisten .git/index.lock (git stash exit 1), aber der Job wurde GRUEN — das ';' vor dem Dienst-Neustart (noetig, damit die gestoppte UI auch im Fehlerfall wieder hochkommt) schluckte den Update-Fehler, und der Postcheck bestand mit dem ALTEN Agenten. User sah 'done', Badge blieb (125 Commits Rueckstand). Neu: RC wird festgehalten, Dienste starten IMMER wieder, aber der Job uebernimmt den echten Update-RC und schreibt eine Klartext-Zeile ins Log. Lock auf der Box entfernt (Verwaisung von gestern 21:22, wie beim MC2-Repo). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -711,14 +711,22 @@ def _hermes_update_cmd() -> str:
|
||||
f"&& rm -rf {hui_dist} && cp -r /tmp/h-build {hui_dist}; fi"
|
||||
)
|
||||
|
||||
return (f"bash {backup} || true; "
|
||||
# EHRLICHER Exit-Code (Lehre 08.07.): Die Dienste müssen auch bei einem GESCHEITERTEN
|
||||
# Update wieder hochkommen (die UI wurde ja gestoppt) — aber der Job darf dann nicht
|
||||
# grün sein. Früher schluckte das `;` vor dem Neustart jeden Update-Fehler: Job rc=0,
|
||||
# Badge blieb, User sah „done aber nichts passiert" (Update scheiterte real an einem
|
||||
# verwaisten .git/index.lock). Jetzt: RC festhalten, Dienste immer starten, RC melden.
|
||||
return ("RC=0; "
|
||||
f"bash {backup} || true; "
|
||||
f"systemctl --user stop hermes-builtin-ui || true; "
|
||||
f"cd {path} && {py} -m hermes_cli.main update --yes "
|
||||
f"{{ cd {path} && {py} -m hermes_cli.main update --yes "
|
||||
f"&& {py} -m hermes_cli.main doctor "
|
||||
f"&& {build_cmd} "
|
||||
f"&& systemctl --user reset-failed hermes-builtin-ui || true; "
|
||||
f"systemctl --user restart hermes-gateway hermes-builtin-ui "
|
||||
f"&& sleep 6 && bash {postcheck}")
|
||||
f"&& {build_cmd}; }} || RC=1; "
|
||||
f"systemctl --user reset-failed hermes-builtin-ui 2>/dev/null; "
|
||||
f"systemctl --user restart hermes-gateway hermes-builtin-ui || RC=1; "
|
||||
f"sleep 6; bash {postcheck} || RC=1; "
|
||||
f"if [ $RC -ne 0 ]; then echo '✗ HERMES-UPDATE FEHLGESCHLAGEN (Dienste laufen wieder, aber alter Stand)'; fi; "
|
||||
f"exit $RC")
|
||||
|
||||
|
||||
def hermes_update_job() -> dict:
|
||||
|
||||
Reference in New Issue
Block a user