Commit graph

4 commits

Author SHA256 Message Date
Till Wegmueller
49c3ab03c4 Map per-step log ranges to YAML steps using KDL step order
- Streamer sorts step categories in KDL workflow order (not alphabetical)
- Reporter emits one StepState per KDL step, each mapped by position
  to the corresponding YAML step ID
- Setup logs auto-map to "Set up job", per-step logs to their steps
2026-04-07 00:41:26 +02:00
Till Wegmueller
f61588e68b Fix streamer category ordering to match step boundaries
Streamer now rebuilds the full sorted log (setup categories first,
then work categories) on each poll and only sends new lines. This
ensures log indices align with the reporter's step boundary
calculation regardless of when categories appear in the DB.
2026-04-07 00:32:54 +02:00
Till Wegmueller
61fca2673d Fix log streaming: no duplicates, proper step boundaries
- Streamer sends only new lines per category (tracks cursor per category)
- Reporter no longer re-uploads logs — only sets step state boundaries
  and sends the no_more marker
- Remove ::group:: markers that cluttered the Forgejo log viewer
- Step 0 (Set up job) gets setup categories (boot, env, tool_check)
- Step 1 (main step) gets workflow step output
2026-04-07 00:23:00 +02:00
Till Wegmueller
3a261b3f2e Add log streaming and fix Forgejo step mapping
- Stream logs to Forgejo in real-time during job execution (polls
  logs-service every 3s)
- Map setup logs (boot, env, tool_check) to "Set up job" step
- Map KDL workflow step logs to the main Actions step
- Add summary line to "Complete job" step
- Use ::group::/::endgroup:: markers for log category sections
2026-04-07 00:13:54 +02:00