Skip to content

feat(stovepipe): add Buildkite and GitHub Actions BuildRunner backends#411

Open
roychying wants to merge 7 commits into
chenghan.ying/stovepipe-buildsignal-controllerfrom
chenghan.ying/refactor-buildrunner-extension
Open

feat(stovepipe): add Buildkite and GitHub Actions BuildRunner backends#411
roychying wants to merge 7 commits into
chenghan.ying/stovepipe-buildsignal-controllerfrom
chenghan.ying/refactor-buildrunner-extension

Conversation

@roychying

Copy link
Copy Markdown
Contributor

What?

  • New platform/extension/buildrunner/{buildkite,githubactions} shared HTTP clients (CreateBuild/GetBuild/CancelBuild for Buildkite; DispatchWorkflow/GetRun/CancelRun for GitHub Actions), domain-agnostic and reusable by both submitqueue and stovepipe.
  • New stovepipe/extension/buildrunner/{buildkite,githubactions} thin adapters wrapping those clients. Buildkite passes identity via env vars (STOVEPIPE_HEAD_URI/_BASE_URI/_QUEUE/_METADATA) and recovers metadata from Buildkite's echoed env vars; GitHub Actions passes identity via workflow_dispatch inputs and, since GitHub doesn't echo inputs back, returns the run's own status/outcome fields instead. Both map unrecognized backend states to BuildStatusUnknown (non-terminal) rather than guessing terminal.
  • Refactored submitqueue/extension/buildrunner/{buildkite,githubactions} to consume the same new shared platform clients instead of owning their own HTTP logic.

Test Plan

make build, make test - all green

Issue

@roychying
roychying requested review from a team, behinddwalls and sbalabanov as code owners July 21, 2026 00:04
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