No description
Confirmed twice now (ci runs #62 and #64) that Gitea's job log/status can desync from reality: run #62 stayed "running" forever after its process and box had already vanished; run #64 was marked "failure" seconds after the log's last line, mid-compile, with zero error, no OOM, nothing in the runner service's own journal (which only ever logs one line per task dispatch, never per-step detail). Both times, our only evidence was Gitea's own unreliable view. dlog() appends timestamped lines to hetzner-runner-debug.log in $HOME on the runner host (mainframe) for every lifecycle event (up/down/exec start, success, failure) -- independent of stdout, independent of whether the SSH session or Gitea's log capture are working at all. withHeartbeat() logs every 30s while a remote exec is in flight, so if this process gets killed abruptly mid-call (no "after" to log), the last heartbeat timestamp pins down precisely when it was still alive -- next time this happens, `cat ~/hetzner-runner-debug.log` on mainframe gives a real answer instead of another round of guessing from Gitea's log. |
||
|---|---|---|
| .gitignore | ||
| go.mod | ||
| go.sum | ||
| install-deps.sh | ||
| main.go | ||
| stall-watch.py | ||
| sync.sh | ||