Commit de22c87
committed
refactor(platform)!: move CI clients out of extension/ to platform/
## Summary
### Why?
`platform/extension/buildrunner/{buildkite,githubactions}` were filed as extensions, but neither is one. Per [CLAUDE.md](CLAUDE.md), an `extension/{ext}` package holds the behavioral interface, its `Config`, and the `Factory` interface — `platform/extension/buildrunner/` had no Go package at its root at all, just two impl directories under an empty namespace. Both packages say so in their own doc comments: "It intentionally holds no BuildRunner interface or domain entity types."
What they actually are is vendor HTTP clients over `platform/http` — REST calls plus provider-specific vocabulary (Buildkite's state strings, GitHub Actions' status/conclusion pair, id encoding). That makes them siblings of `platform/http` and `platform/errs`, not extensions. The real `BuildRunner` contracts already live where they belong, at `submitqueue/extension/buildrunner` and `stovepipe/extension/buildrunner`; these clients are what those extensions' backends wrap.
### What?
Moves both packages up to `platform/buildkite` and `platform/githubactions` and deletes the now-empty `platform/extension/buildrunner/`. Pure relocation — no behavior, no signatures, no test logic changed.
Import paths and Bazel labels updated across the four consumer packages (`{submitqueue,stovepipe}/extension/buildrunner/{buildkite,githubactions}`), which keep their `platformbuildkite`/`platformgithubactions` aliases.
`platform/README.md` gains an entry for the two clients and a line on the `platform/` vs `platform/extension/` test, so the next vendor client lands in the right place.
In [doc/rfc/stovepipe/steps/build.md](doc/rfc/stovepipe/steps/build.md), only the *adopted* option is repathed. The rejected alternatives there describe a shared `BuildRunner` **interface**, which genuinely would have been an extension — so their `platform/extension/buildrunner` references are correct as written and left intact. The adopted option now also records why the shipped package is not an extension: it is precisely the option that declines to define a shared interface.
## Test Plan
- ✅ `bazel test //platform/buildkite/... //platform/githubactions/... //submitqueue/extension/buildrunner/... //stovepipe/extension/buildrunner/...` — 8/8 pass
- ✅ `bazel build //...` — 309 targets
- ✅ `make fmt` (no changes), `make lint`, `make check-gazelle`, `make check-tidy`1 parent 61db11f commit de22c87
25 files changed
Lines changed: 29 additions & 28 deletions
File tree
- doc/rfc/stovepipe/steps
- platform
- buildkite
- githubactions
- stovepipe/extension/buildrunner
- buildkite
- githubactions
- submitqueue/extension/buildrunner
- buildkite
- githubactions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
230 | 230 | | |
231 | 231 | | |
232 | 232 | | |
233 | | - | |
| 233 | + | |
234 | 234 | | |
235 | 235 | | |
236 | | - | |
| 236 | + | |
237 | 237 | | |
238 | 238 | | |
239 | 239 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
11 | 12 | | |
12 | | - | |
| 13 | + | |
13 | 14 | | |
14 | 15 | | |
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
17 | 17 | | |
18 | 18 | | |
19 | 19 | | |
20 | | - | |
| 20 | + | |
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| |||
File renamed without changes.
File renamed without changes.
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| |||
File renamed without changes.
0 commit comments