builds page: scheduled runs on an unchanged tip collapse into one unreadable row #240

closed cmc opened this on 2026-09-20 23:21 UTC

Discussion

cmc 2026-09-20 23:21 UTC

groupRuns (internal/httpd/builds.go:177) folds consecutive builds of the same commit into one run. That is right for a push, where build/test/lint share a sha once. It breaks for a scheduled job, which runs against the same sha every day for as long as the branch tip does not move.

krz/skunky-art has a daily instances job. main sat at 32e337bd1c from 2026-09-12 to 2026-09-20, so the builds page shows one row with nine identical instances chips side by side:

32e337bd1c  main · 2026-09-20 06:00 UTC   success  instances ×9

Symptoms:

  • The chips are indistinguishable. Date and status per run are only reachable by opening each link.
  • The row timestamp is the newest build in the group, so the other eight days are invisible.
  • {{len .Runs}} counts groups, not builds. The page read "15 runs" while showing 23.

The grouping key should account for the trigger, not just the sha - scheduled runs are separate events even on an unchanged tip. Options: key on (sha, trigger) and give scheduled runs their own rows; or keep one row per sha and collapse repeats of a job into a single chip with a run count and the newest status. Either way the count label should say what it counts.

closed by cmc in commit 7720b4d5d5: builds: separate runs queued at different times

2026-09-21 05:51 UTC