Skip to content

Stop overriding GitHubStatusPush's default generators - #370

Merged
alexreinking merged 1 commit into
masterfrom
areinking/github-status-pending-default
Sep 3, 2026
Merged

Stop overriding GitHubStatusPush's default generators#370
alexreinking merged 1 commit into
masterfrom
areinking/github-status-pending-default

Conversation

@alexreinking

Copy link
Copy Markdown
Member

Summary

  • We've merged PRs where the buildbot Builders never actually ran, because a Builder has no GitHub status at all until a worker picks up its build -- there's no visible "queued" state, so a PR can look all-green while several builders haven't started.
  • Root cause: this config's explicit generators=[BuildStartEndStatusGenerator(...)] on GitHubStatusPush silently dropped buildbot's own default BuildRequestGenerator, which posts a "pending" status the moment a build is queued. The context= override here was also identical to the library default.
  • Fix: drop both overrides and let GitHubStatusPush use its defaults, restoring the pending/queued status. Verified via buildbot checkconfig that the config still loads, and confirmed by reading buildbot/reporters/github.py and buildbot/reporters/generators/{build,buildrequest}.py that both generator classes hardcode mode='all' and that our explicit builders= filters were no-ops (they enumerated the exact same builder set as the default's unfiltered behavior).

Test plan

  • uv run ruff check / ruff format --check on master/master.cfg
  • buildbot checkconfig . against master/master.cfg
  • After merge/deploy, confirm a new PR shows a "pending" buildbot/<builder> status immediately on push, before any worker claims the build

🤖 Generated with Claude Code

The explicit `generators=[BuildStartEndStatusGenerator(...)]` here dropped
buildbot's own default `BuildRequestGenerator`, which posts a "pending"
GitHub status as soon as a build is queued. Without it, a builder has no
status at all until a worker actually starts it, so PRs could look
all-green while several buildbots hadn't begun -- and merges landed before
the builders ever ran. The `context=` override was also identical to the
library default. Removing both restores the queued-state status and
trims config that no longer needs to exist.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@alexreinking
alexreinking merged commit 74b443d into master Sep 3, 2026
9 checks passed
@alexreinking
alexreinking deleted the areinking/github-status-pending-default branch September 3, 2026 22:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant