No description
Find a file
Philip Peterson b73550f958 Add independent local debug log + heartbeat, decoupled from Gitea's log capture
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.
2026-08-05 14:09:26 -08:00
.gitignore Add hetzner-runner: provision/build/teardown tool for ephemeral Chromium build boxes 2026-08-04 00:02:06 -08:00
go.mod Add hetzner-runner: provision/build/teardown tool for ephemeral Chromium build boxes 2026-08-04 00:02:06 -08:00
go.sum Add hetzner-runner: provision/build/teardown tool for ephemeral Chromium build boxes 2026-08-04 00:02:06 -08:00
install-deps.sh Add exec subcommand; split monolithic build.sh into per-phase scripts 2026-08-04 12:15:07 -08:00
main.go Add independent local debug log + heartbeat, decoupled from Gitea's log capture 2026-08-05 14:09:26 -08:00
stall-watch.py Add stall-watch.py diagnostic wrapper; fix PTY hang in file upload 2026-08-04 19:27:17 -08:00
sync.sh sync.sh: install 'file' -- install-build-deps.py hard-requires it 2026-08-05 02:45:59 -08:00