-
v0.26.0 Stable
released this
2026-08-08 14:04:31 -05:00 | 646 commits to main since this releaseAdded
-
The crawl sets the repo's commit status, so the icon is never blank.
Forgejo's repo list shows a tick or a cross per repo, read from the commit
status on the tip of the default branch. Every other repo gets one from CI.
This one never did: its tip is a nightly data commit essentially every day,
and those carry[skip ci]and are excluded bypaths-ignoreon purpose, so
no run exists to report anything.Blank is the worst of the three states. A cross says the crawl broke, a tick
says it did not, and blank says only that nobody asked — which is exactly what
a service that died a week ago also looks like.src/commit-status.tsnow posts one status per window under the context
crawl/nightly:INF publish/status > commit status set to success | sha=b6b948e… context=crawl/nightly description="10/10 artifacts published"It stamps whatever is on top of the branch, not a commit the run made. The
nights worth flagging are precisely the ones that commit nothing — the crawl
died before any artifact was reachable, the bytes were identical, or five
published and the sixth threw and left the tip looking healthy. Statuses are
keyed by (commit, context) with the newest winning, so re-marking last night's
commit is what lets a run that wrote nothing still report.Severity decides the colour. Red is what
publish-state.tsalready calls
ERROR— a thrown fault on the first night, a decline once it passes
STALE_AFTER_NIGHTS. A single missed night stays green and says so
(9/10 artifacts published, 1 declined), because a coverage abort on
patch-drop morning is expected, and a cross that appears every patch cycle is
a cross nobody reads.It cannot cost a window: every path out resolves, and a failed post logs under
the newpublish/statusphase and is dropped. No new credential — push
permission on the repo is what the contents API already needs, and the boot
preflight already proves the token has it.A process killed outright still leaves yesterday's tick in place; closing that
needs an observer outside the process and is not in this release.
Changed
PublishTrackertakes an optionalonOutcomeobserver, which is how the
status reporter learns what each artifact did. A store failure now emits an
ERRORoutcome rather than nothing at all — a Postgres outage that produced
no outcomes would otherwise read downstream as a night nobody attempted.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-