Skip to content

feat(stovepipe): add and wire the buildsignal stage controller#409

Merged
roychying merged 5 commits into
mainfrom
chenghan.ying/stovepipe-buildsignal-controller
Jul 22, 2026
Merged

feat(stovepipe): add and wire the buildsignal stage controller#409
roychying merged 5 commits into
mainfrom
chenghan.ying/stovepipe-buildsignal-controller

Conversation

@roychying

Copy link
Copy Markdown
Contributor

What?

Adds stovepipe/controller/buildsignal plus the new Record queue message/proto and TopicKeyRecord. Process consumes a BuildSignal (build id), loads Build+Request, no-ops if the request is terminal, polls buildRunner.Status, persists a real status transition via CAS (BuildStore.Update) with terminal status write-once (a later poll of a flaky backend can never overwrite an already-committed terminal status), and either reschedules itself via PublishAfter (5s while accepted, 2s while running) or, once terminal, publishes to record. Wires the controller into main.go and registers the buildsignal (subscribed) and record (publish-only, no consumer yet) topics.

Test Plan

make build, make test - all clean.

Issue

@roychying
roychying requested review from a team, behinddwalls and sbalabanov as code owners July 20, 2026 23:24
@roychying roychying changed the title Chenghan.ying/stovepipe buildsignal controller feat(stovepipe): wire the build controller into the server Jul 20, 2026
@roychying roychying closed this Jul 20, 2026
@roychying roychying reopened this Jul 20, 2026
@roychying roychying changed the title feat(stovepipe): wire the build controller into the server feat(stovepipe): add and wire the buildsignal stage controller Jul 20, 2026
@roychying
roychying force-pushed the chenghan.ying/stovepipe-buildsignal-controller branch from 7459fe1 to 63562b5 Compare July 21, 2026 00:01
Comment thread stovepipe/controller/buildsignal/buildsignal.go
Comment thread stovepipe/controller/buildsignal/buildsignal.go
Comment thread stovepipe/controller/buildsignal/buildsignal.go
Comment thread stovepipe/controller/buildsignal/buildsignal.go Outdated
@roychying
roychying force-pushed the chenghan.ying/stovepipe-wire-build-step branch from 67e6913 to 0ae1569 Compare July 21, 2026 22:20
@roychying
roychying force-pushed the chenghan.ying/stovepipe-buildsignal-controller branch from 63562b5 to be3d253 Compare July 21, 2026 22:20
@roychying
roychying force-pushed the chenghan.ying/stovepipe-wire-build-step branch from 0ae1569 to 2430a37 Compare July 22, 2026 01:01
@roychying
roychying force-pushed the chenghan.ying/stovepipe-buildsignal-controller branch from be3d253 to 133ea41 Compare July 22, 2026 01:03
@behinddwalls
behinddwalls force-pushed the chenghan.ying/stovepipe-wire-build-step branch from 2430a37 to 5507276 Compare July 22, 2026 01:03
@behinddwalls
behinddwalls force-pushed the chenghan.ying/stovepipe-buildsignal-controller branch from 133ea41 to 33d360c Compare July 22, 2026 01:04
@roychying
roychying force-pushed the chenghan.ying/stovepipe-wire-build-step branch from 5507276 to fcbdc3c Compare July 22, 2026 01:07
@behinddwalls
behinddwalls force-pushed the chenghan.ying/stovepipe-buildsignal-controller branch from 33d360c to f3b7e20 Compare July 22, 2026 01:12
@behinddwalls
behinddwalls changed the base branch from chenghan.ying/stovepipe-wire-build-step to main July 22, 2026 01:12
@roychying
roychying force-pushed the chenghan.ying/stovepipe-buildsignal-controller branch from f3b7e20 to bf69d95 Compare July 22, 2026 01:13
@roychying
roychying force-pushed the chenghan.ying/stovepipe-buildsignal-controller branch from bf69d95 to d187bbc Compare July 22, 2026 01:16
@roychying
roychying added this pull request to the merge queue Jul 22, 2026
Merged via the queue into main with commit 7a0bcee Jul 22, 2026
15 checks passed
@behinddwalls
behinddwalls deleted the chenghan.ying/stovepipe-buildsignal-controller branch July 22, 2026 01:25
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.

3 participants