From de22c87dfce92d8f6ad3fd726fdebee110310626 Mon Sep 17 00:00:00 2001 From: Preetam Dwivedi Date: Tue, 11 Aug 2026 20:54:34 -0700 Subject: [PATCH] refactor(platform)!: move CI clients out of extension/ to platform/ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 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` --- doc/rfc/stovepipe/steps/build.md | 4 ++-- platform/README.md | 3 ++- platform/{extension/buildrunner => }/buildkite/BUILD.bazel | 2 +- platform/{extension/buildrunner => }/buildkite/README.md | 4 ++-- platform/{extension/buildrunner => }/buildkite/client.go | 0 platform/{extension/buildrunner => }/buildkite/client_test.go | 0 .../{extension/buildrunner => }/githubactions/BUILD.bazel | 2 +- platform/{extension/buildrunner => }/githubactions/README.md | 2 +- platform/{extension/buildrunner => }/githubactions/client.go | 2 +- .../{extension/buildrunner => }/githubactions/client_test.go | 0 stovepipe/extension/buildrunner/README.md | 2 +- stovepipe/extension/buildrunner/buildkite/BUILD.bazel | 4 ++-- stovepipe/extension/buildrunner/buildkite/buildkite.go | 2 +- stovepipe/extension/buildrunner/buildkite/buildkite_test.go | 2 +- stovepipe/extension/buildrunner/githubactions/BUILD.bazel | 4 ++-- .../extension/buildrunner/githubactions/githubactions.go | 2 +- .../extension/buildrunner/githubactions/githubactions_test.go | 2 +- submitqueue/extension/buildrunner/README.md | 2 +- submitqueue/extension/buildrunner/buildkite/BUILD.bazel | 4 ++-- submitqueue/extension/buildrunner/buildkite/buildkite.go | 2 +- submitqueue/extension/buildrunner/buildkite/buildkite_test.go | 2 +- submitqueue/extension/buildrunner/githubactions/BUILD.bazel | 4 ++-- submitqueue/extension/buildrunner/githubactions/README.md | 2 +- .../extension/buildrunner/githubactions/githubactions.go | 2 +- .../extension/buildrunner/githubactions/githubactions_test.go | 2 +- 25 files changed, 29 insertions(+), 28 deletions(-) rename platform/{extension/buildrunner => }/buildkite/BUILD.bazel (85%) rename platform/{extension/buildrunner => }/buildkite/README.md (86%) rename platform/{extension/buildrunner => }/buildkite/client.go (100%) rename platform/{extension/buildrunner => }/buildkite/client_test.go (100%) rename platform/{extension/buildrunner => }/githubactions/BUILD.bazel (85%) rename platform/{extension/buildrunner => }/githubactions/README.md (92%) rename platform/{extension/buildrunner => }/githubactions/client.go (99%) rename platform/{extension/buildrunner => }/githubactions/client_test.go (100%) diff --git a/doc/rfc/stovepipe/steps/build.md b/doc/rfc/stovepipe/steps/build.md index 91d1bdf4e..54e56905a 100644 --- a/doc/rfc/stovepipe/steps/build.md +++ b/doc/rfc/stovepipe/steps/build.md @@ -230,10 +230,10 @@ Several shapes for sharing the `BuildRunner` contract across domains were raised - **Shared `Status`/`Cancel` via a `platform/extension/buildrunner.StatusCanceller` sub-interface, with `BuildID`/`BuildStatus`/`BuildMetadata` promoted to `platform/base`.** An earlier draft of this doc adopted exactly this: since both domains poll and cancel by the same opaque, runner-minted id with the same async semantics, `Status`/`Cancel` moved to a shared interface embedded in each domain's `BuildRunner`, with the supporting types promoted to `platform/base` so both sides used the same Go types (a dual-implementing backend would then satisfy both interfaces through one embedded method set). Trade-offs: set aside on review — splitting one conceptual contract (`Trigger` + `Status` + `Cancel`) across two packages (`platform/extension/buildrunner` for two of the three methods, `{domain}/extension/buildrunner` for the third) fragments a single interface across an ownership boundary for a resemblance that isn't yet load-bearing: SubmitQueue is the only existing consumer of the "shared" half today, and the promotion cost — migrating SubmitQueue's already-shipped controllers, storage, and protobuf mappings onto the shared type — bought less than keeping each domain's `BuildRunner` whole and pushing reuse down to the implementation layer instead, per the option below. -- **Shared backend under `platform`, thin per-domain contracts (adopted).** House the Buildkite / CI-gateway implementation once under `platform/extension` and let each domain define its own contract over it: +- **Shared backend under `platform`, thin per-domain contracts (adopted).** House the Buildkite / CI-gateway implementation once under `platform/` and let each domain define its own contract over it. It sits at `platform/{backend}`, beside `platform/http`, rather than under `platform/extension/` — precisely because this option declines to define a shared interface, the package is a vendor client with no interface, `Config`, or `Factory`, so it is platform plumbing rather than an extension. Only the rejected alternatives above would have earned a `platform/extension/buildrunner` package. ```go - // platform/extension/buildrunner/buildkite — shared HTTP client, auth, poll loop + // platform/buildkite — shared HTTP client, auth, poll loop package buildkite type Client struct{ /* ... */ } diff --git a/platform/README.md b/platform/README.md index e3d1fade0..1257d5f93 100644 --- a/platform/README.md +++ b/platform/README.md @@ -8,7 +8,8 @@ Cross-domain packages shared by SubmitQueue, Stovepipe, and other services in th - **metrics/** — Tally helpers with error-aware tagging via `platform/errs`. - **consumer/** — Queue consumer framework (`consumer.Controller`, registry, DLQ wiring). - **http/** — Small HTTP client helpers (e.g. base-URL `RoundTripper`). Go import path: `github.com/uber/submitqueue/platform/http`; package name is `http`. Callers that also import `net/http` should import this package with an alias (for example `phttp "github.com/uber/submitqueue/platform/http"`) and use `phttp.NewClient`. +- **buildkite/**, **githubactions/** — Vendor CI clients over `platform/http`: the REST calls and provider-specific vocabulary (state strings, id encoding) shared by every domain's `BuildRunner` backend. They deliberately define no interface, so they are plumbing rather than extensions — each domain keeps its own `BuildRunner` contract under `{domain}/extension/buildrunner` and adapts these clients to it. - **base/** — Shared domain entities (`change`, `messagequeue`, and related subpackages). Root package `base` is documentation-only. -- **extension/** — Shared extension interfaces and implementations reused across domains (`counter`, `messagequeue`, and backends such as `mysql`). +- **extension/** — Shared extension interfaces and implementations reused across domains (`counter`, `messagequeue`, and backends such as `mysql`). A package belongs here only if it defines a behavioral interface with its `Config` and `Factory` interface; a vendor client with no interface belongs directly under `platform/`. Domain-scoped infrastructure and extensions stay under each domain (for example `submitqueue/core/`, `submitqueue/extension/`). diff --git a/platform/extension/buildrunner/buildkite/BUILD.bazel b/platform/buildkite/BUILD.bazel similarity index 85% rename from platform/extension/buildrunner/buildkite/BUILD.bazel rename to platform/buildkite/BUILD.bazel index c552a0af7..b19b6dae1 100644 --- a/platform/extension/buildrunner/buildkite/BUILD.bazel +++ b/platform/buildkite/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "go_default_library", srcs = ["client.go"], - importpath = "github.com/uber/submitqueue/platform/extension/buildrunner/buildkite", + importpath = "github.com/uber/submitqueue/platform/buildkite", visibility = ["//visibility:public"], deps = ["//platform/http:go_default_library"], ) diff --git a/platform/extension/buildrunner/buildkite/README.md b/platform/buildkite/README.md similarity index 86% rename from platform/extension/buildrunner/buildkite/README.md rename to platform/buildkite/README.md index d946cdbcf..ee9d1dafe 100644 --- a/platform/extension/buildrunner/buildkite/README.md +++ b/platform/buildkite/README.md @@ -1,6 +1,6 @@ # Buildkite client -Shared HTTP client and Buildkite-specific facts for every domain's Buildkite-backed `BuildRunner`. There is no `BuildRunner` interface here by design — each domain (`submitqueue`, `stovepipe`, ...) defines its own `BuildRunner` and its own `BuildStatus`, and adapts this package's `State` to it. See [`doc/rfc/stovepipe/steps/build.md`](../../../../doc/rfc/stovepipe/steps/build.md#alternatives-considered-for-sharing-the-contract) for why the contract stays per-domain while the backend is shared. +Shared HTTP client and Buildkite-specific facts for every domain's Buildkite-backed `BuildRunner`. There is no `BuildRunner` interface here by design — each domain (`submitqueue`, `stovepipe`, ...) defines its own `BuildRunner` and its own `BuildStatus`, and adapts this package's `State` to it. See [`doc/rfc/stovepipe/steps/build.md`](../../doc/rfc/stovepipe/steps/build.md#alternatives-considered-for-sharing-the-contract) for why the contract stays per-domain while the backend is shared. ## What lives here @@ -17,7 +17,7 @@ Both wrap a `*Client` built at the wiring layer; this package never constructs o ## How the same `Client` stays safe to share across two different checkout strategies -SubmitQueue's build materializes state that doesn't exist yet — the runner resolves a batch DAG into composite base/head commits by applying patches. Stovepipe's build checks out a commit that already exists on trunk and, for an incremental build, diffs it against a baseline. These are different problems at the CI-pipeline level (see [build.md's "Why separate contracts"](../../../../doc/rfc/stovepipe/steps/build.md#why-separate-contracts)), yet both go through the same `Client.CreateBuild` call — the `Client` never inspects `CreateBuildRequest.Env` or picks a strategy, so there is nothing here that needs to "know" which pattern applies. +SubmitQueue's build materializes state that doesn't exist yet — the runner resolves a batch DAG into composite base/head commits by applying patches. Stovepipe's build checks out a commit that already exists on trunk and, for an incremental build, diffs it against a baseline. These are different problems at the CI-pipeline level (see [build.md's "Why separate contracts"](../../doc/rfc/stovepipe/steps/build.md#why-separate-contracts)), yet both go through the same `Client.CreateBuild` call — the `Client` never inspects `CreateBuildRequest.Env` or picks a strategy, so there is nothing here that needs to "know" which pattern applies. The split happens entirely outside this package, at two layers below it: diff --git a/platform/extension/buildrunner/buildkite/client.go b/platform/buildkite/client.go similarity index 100% rename from platform/extension/buildrunner/buildkite/client.go rename to platform/buildkite/client.go diff --git a/platform/extension/buildrunner/buildkite/client_test.go b/platform/buildkite/client_test.go similarity index 100% rename from platform/extension/buildrunner/buildkite/client_test.go rename to platform/buildkite/client_test.go diff --git a/platform/extension/buildrunner/githubactions/BUILD.bazel b/platform/githubactions/BUILD.bazel similarity index 85% rename from platform/extension/buildrunner/githubactions/BUILD.bazel rename to platform/githubactions/BUILD.bazel index ece1d839c..c86265a45 100644 --- a/platform/extension/buildrunner/githubactions/BUILD.bazel +++ b/platform/githubactions/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "go_default_library", srcs = ["client.go"], - importpath = "github.com/uber/submitqueue/platform/extension/buildrunner/githubactions", + importpath = "github.com/uber/submitqueue/platform/githubactions", visibility = ["//visibility:public"], deps = ["//platform/http:go_default_library"], ) diff --git a/platform/extension/buildrunner/githubactions/README.md b/platform/githubactions/README.md similarity index 92% rename from platform/extension/buildrunner/githubactions/README.md rename to platform/githubactions/README.md index c55328164..6702f2f78 100644 --- a/platform/extension/buildrunner/githubactions/README.md +++ b/platform/githubactions/README.md @@ -1,6 +1,6 @@ # GitHub Actions client -Shared HTTP client and GitHub Actions-specific facts for every domain's GitHub Actions-backed `BuildRunner`. There is no `BuildRunner` interface here by design — each domain (`submitqueue`, `stovepipe`, ...) defines its own `BuildRunner` and its own `BuildStatus`, and adapts this package's `RunStatus` to it. Mirrors [`platform/extension/buildrunner/buildkite`](../buildkite/README.md)'s split; see that package's README and [`doc/rfc/stovepipe/steps/build.md`](../../../../doc/rfc/stovepipe/steps/build.md#alternatives-considered-for-sharing-the-contract) for the shared rationale. +Shared HTTP client and GitHub Actions-specific facts for every domain's GitHub Actions-backed `BuildRunner`. There is no `BuildRunner` interface here by design — each domain (`submitqueue`, `stovepipe`, ...) defines its own `BuildRunner` and its own `BuildStatus`, and adapts this package's `RunStatus` to it. Mirrors [`platform/buildkite`](../buildkite/README.md)'s split; see that package's README and [`doc/rfc/stovepipe/steps/build.md`](../../doc/rfc/stovepipe/steps/build.md#alternatives-considered-for-sharing-the-contract) for the shared rationale. ## What lives here diff --git a/platform/extension/buildrunner/githubactions/client.go b/platform/githubactions/client.go similarity index 99% rename from platform/extension/buildrunner/githubactions/client.go rename to platform/githubactions/client.go index 71d467e49..cede10351 100644 --- a/platform/extension/buildrunner/githubactions/client.go +++ b/platform/githubactions/client.go @@ -18,7 +18,7 @@ // BuildRunner interface or domain entity types — each domain (submitqueue, // stovepipe, ...) defines its own BuildRunner and its own BuildStatus, and // adapts this package's RunStatus to it. See -// platform/extension/buildrunner/buildkite's README for the analogous +// platform/buildkite's README for the analogous // rationale applied to the Buildkite backend. package githubactions diff --git a/platform/extension/buildrunner/githubactions/client_test.go b/platform/githubactions/client_test.go similarity index 100% rename from platform/extension/buildrunner/githubactions/client_test.go rename to platform/githubactions/client_test.go diff --git a/stovepipe/extension/buildrunner/README.md b/stovepipe/extension/buildrunner/README.md index b25d64fa4..0e85a0f30 100644 --- a/stovepipe/extension/buildrunner/README.md +++ b/stovepipe/extension/buildrunner/README.md @@ -8,6 +8,6 @@ Vendor-agnostic interface through which Stovepipe triggers and polls builds agai Implementations return plain, unclassified errors — the calling controller decides retryable-vs-not and user-vs-infra, per `platform/errs`. -Real backends (`buildkite`, `githubactions`) are thin adapters over a shared platform client (`platform/extension/buildrunner/{backend}`) — see that package's README for the HTTP client and vendor-specific details. +Real backends (`buildkite`, `githubactions`) are thin adapters over a shared platform client (`platform/{backend}`) — see that package's README for the HTTP client and vendor-specific details. See [doc/rfc/stovepipe/steps/build.md](../../../doc/rfc/stovepipe/steps/build.md#why-separate-contracts) for why this is a separate contract from SubmitQueue's own `buildrunner` rather than a shared one. To add a backend, create `buildrunner/{backend}/`, implement `BuildRunner`, and return it from a `New(...)` constructor. diff --git a/stovepipe/extension/buildrunner/buildkite/BUILD.bazel b/stovepipe/extension/buildrunner/buildkite/BUILD.bazel index 30f17f9d0..fae30bb98 100644 --- a/stovepipe/extension/buildrunner/buildkite/BUILD.bazel +++ b/stovepipe/extension/buildrunner/buildkite/BUILD.bazel @@ -6,8 +6,8 @@ go_library( importpath = "github.com/uber/submitqueue/stovepipe/extension/buildrunner/buildkite", visibility = ["//visibility:public"], deps = [ + "//platform/buildkite:go_default_library", "//platform/errs:go_default_library", - "//platform/extension/buildrunner/buildkite:go_default_library", "//platform/http:go_default_library", "//stovepipe/entity:go_default_library", "//stovepipe/extension/buildrunner:go_default_library", @@ -20,9 +20,9 @@ go_test( srcs = ["buildkite_test.go"], embed = [":go_default_library"], deps = [ + "//platform/buildkite:go_default_library", "//platform/errs:go_default_library", "//platform/errs/http:go_default_library", - "//platform/extension/buildrunner/buildkite:go_default_library", "//platform/http:go_default_library", "//stovepipe/entity:go_default_library", "//stovepipe/extension/buildrunner:go_default_library", diff --git a/stovepipe/extension/buildrunner/buildkite/buildkite.go b/stovepipe/extension/buildrunner/buildkite/buildkite.go index 07e1e985c..64bf464e3 100644 --- a/stovepipe/extension/buildrunner/buildkite/buildkite.go +++ b/stovepipe/extension/buildrunner/buildkite/buildkite.go @@ -39,8 +39,8 @@ import ( "go.uber.org/zap" + platformbuildkite "github.com/uber/submitqueue/platform/buildkite" "github.com/uber/submitqueue/platform/errs" - platformbuildkite "github.com/uber/submitqueue/platform/extension/buildrunner/buildkite" phttp "github.com/uber/submitqueue/platform/http" "github.com/uber/submitqueue/stovepipe/entity" "github.com/uber/submitqueue/stovepipe/extension/buildrunner" diff --git a/stovepipe/extension/buildrunner/buildkite/buildkite_test.go b/stovepipe/extension/buildrunner/buildkite/buildkite_test.go index 0a79a7272..c22af1fce 100644 --- a/stovepipe/extension/buildrunner/buildkite/buildkite_test.go +++ b/stovepipe/extension/buildrunner/buildkite/buildkite_test.go @@ -27,9 +27,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + platformbuildkite "github.com/uber/submitqueue/platform/buildkite" "github.com/uber/submitqueue/platform/errs" httperrs "github.com/uber/submitqueue/platform/errs/http" - platformbuildkite "github.com/uber/submitqueue/platform/extension/buildrunner/buildkite" phttp "github.com/uber/submitqueue/platform/http" "github.com/uber/submitqueue/stovepipe/entity" "github.com/uber/submitqueue/stovepipe/extension/buildrunner" diff --git a/stovepipe/extension/buildrunner/githubactions/BUILD.bazel b/stovepipe/extension/buildrunner/githubactions/BUILD.bazel index 220e94199..934cc5426 100644 --- a/stovepipe/extension/buildrunner/githubactions/BUILD.bazel +++ b/stovepipe/extension/buildrunner/githubactions/BUILD.bazel @@ -7,7 +7,7 @@ go_library( visibility = ["//visibility:public"], deps = [ "//platform/errs:go_default_library", - "//platform/extension/buildrunner/githubactions:go_default_library", + "//platform/githubactions:go_default_library", "//platform/http:go_default_library", "//stovepipe/entity:go_default_library", "//stovepipe/extension/buildrunner:go_default_library", @@ -22,7 +22,7 @@ go_test( deps = [ "//platform/errs:go_default_library", "//platform/errs/http:go_default_library", - "//platform/extension/buildrunner/githubactions:go_default_library", + "//platform/githubactions:go_default_library", "//platform/http:go_default_library", "//stovepipe/entity:go_default_library", "//stovepipe/extension/buildrunner:go_default_library", diff --git a/stovepipe/extension/buildrunner/githubactions/githubactions.go b/stovepipe/extension/buildrunner/githubactions/githubactions.go index 770d0ae5b..31fb0db43 100644 --- a/stovepipe/extension/buildrunner/githubactions/githubactions.go +++ b/stovepipe/extension/buildrunner/githubactions/githubactions.go @@ -40,7 +40,7 @@ import ( "go.uber.org/zap" "github.com/uber/submitqueue/platform/errs" - platformgithubactions "github.com/uber/submitqueue/platform/extension/buildrunner/githubactions" + platformgithubactions "github.com/uber/submitqueue/platform/githubactions" phttp "github.com/uber/submitqueue/platform/http" "github.com/uber/submitqueue/stovepipe/entity" "github.com/uber/submitqueue/stovepipe/extension/buildrunner" diff --git a/stovepipe/extension/buildrunner/githubactions/githubactions_test.go b/stovepipe/extension/buildrunner/githubactions/githubactions_test.go index 5adb1b2bd..983aab021 100644 --- a/stovepipe/extension/buildrunner/githubactions/githubactions_test.go +++ b/stovepipe/extension/buildrunner/githubactions/githubactions_test.go @@ -30,7 +30,7 @@ import ( "github.com/uber/submitqueue/platform/errs" httperrs "github.com/uber/submitqueue/platform/errs/http" - platformgithubactions "github.com/uber/submitqueue/platform/extension/buildrunner/githubactions" + platformgithubactions "github.com/uber/submitqueue/platform/githubactions" phttp "github.com/uber/submitqueue/platform/http" "github.com/uber/submitqueue/stovepipe/entity" "github.com/uber/submitqueue/stovepipe/extension/buildrunner" diff --git a/submitqueue/extension/buildrunner/README.md b/submitqueue/extension/buildrunner/README.md index 7c3d610f9..0a5aa23f2 100644 --- a/submitqueue/extension/buildrunner/README.md +++ b/submitqueue/extension/buildrunner/README.md @@ -17,4 +17,4 @@ See [`doc/rfc/submitqueue/build-runner.md`](../../../doc/rfc/submitqueue/build-r - `githubactions`: proof-of-architecture backend that dispatches a GitHub Actions workflow. See [`githubactions/README.md`](githubactions/README.md) for the workflow inputs and example orchestrator environment variables. -- `buildkite`: Buildkite-backed backend. Its HTTP client and Buildkite-specific facts (state vocabulary, metadata env-var round-trip) live in [`platform/extension/buildrunner/buildkite`](../../../platform/extension/buildrunner/buildkite/README.md), shared with `stovepipe`'s own Buildkite backend. +- `buildkite`: Buildkite-backed backend. Its HTTP client and Buildkite-specific facts (state vocabulary, metadata env-var round-trip) live in [`platform/buildkite`](../../../platform/buildkite/README.md), shared with `stovepipe`'s own Buildkite backend. diff --git a/submitqueue/extension/buildrunner/buildkite/BUILD.bazel b/submitqueue/extension/buildrunner/buildkite/BUILD.bazel index d73b45a0c..9935018e9 100644 --- a/submitqueue/extension/buildrunner/buildkite/BUILD.bazel +++ b/submitqueue/extension/buildrunner/buildkite/BUILD.bazel @@ -7,7 +7,7 @@ go_library( visibility = ["//visibility:public"], deps = [ "//platform/base/change:go_default_library", - "//platform/extension/buildrunner/buildkite:go_default_library", + "//platform/buildkite:go_default_library", "//submitqueue/core/changeset:go_default_library", "//submitqueue/entity:go_default_library", "//submitqueue/extension/buildrunner:go_default_library", @@ -21,7 +21,7 @@ go_test( embed = [":go_default_library"], deps = [ "//platform/base/change:go_default_library", - "//platform/extension/buildrunner/buildkite:go_default_library", + "//platform/buildkite:go_default_library", "//platform/http:go_default_library", "//submitqueue/core/changeset:go_default_library", "//submitqueue/core/changeset/fake:go_default_library", diff --git a/submitqueue/extension/buildrunner/buildkite/buildkite.go b/submitqueue/extension/buildrunner/buildkite/buildkite.go index 5489fd96a..9a1bb0656 100644 --- a/submitqueue/extension/buildrunner/buildkite/buildkite.go +++ b/submitqueue/extension/buildrunner/buildkite/buildkite.go @@ -37,7 +37,7 @@ import ( "go.uber.org/zap" "github.com/uber/submitqueue/platform/base/change" - platformbuildkite "github.com/uber/submitqueue/platform/extension/buildrunner/buildkite" + platformbuildkite "github.com/uber/submitqueue/platform/buildkite" "github.com/uber/submitqueue/submitqueue/core/changeset" "github.com/uber/submitqueue/submitqueue/entity" "github.com/uber/submitqueue/submitqueue/extension/buildrunner" diff --git a/submitqueue/extension/buildrunner/buildkite/buildkite_test.go b/submitqueue/extension/buildrunner/buildkite/buildkite_test.go index 6ecde2869..e0fa05335 100644 --- a/submitqueue/extension/buildrunner/buildkite/buildkite_test.go +++ b/submitqueue/extension/buildrunner/buildkite/buildkite_test.go @@ -27,7 +27,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber/submitqueue/platform/base/change" - platformbuildkite "github.com/uber/submitqueue/platform/extension/buildrunner/buildkite" + platformbuildkite "github.com/uber/submitqueue/platform/buildkite" phttp "github.com/uber/submitqueue/platform/http" "github.com/uber/submitqueue/submitqueue/core/changeset" changesetfake "github.com/uber/submitqueue/submitqueue/core/changeset/fake" diff --git a/submitqueue/extension/buildrunner/githubactions/BUILD.bazel b/submitqueue/extension/buildrunner/githubactions/BUILD.bazel index 61bda3381..ed4af4fcd 100644 --- a/submitqueue/extension/buildrunner/githubactions/BUILD.bazel +++ b/submitqueue/extension/buildrunner/githubactions/BUILD.bazel @@ -7,7 +7,7 @@ go_library( visibility = ["//visibility:public"], deps = [ "//platform/base/change:go_default_library", - "//platform/extension/buildrunner/githubactions:go_default_library", + "//platform/githubactions:go_default_library", "//submitqueue/core/changeset:go_default_library", "//submitqueue/entity:go_default_library", "//submitqueue/extension/buildrunner:go_default_library", @@ -21,7 +21,7 @@ go_test( embed = [":go_default_library"], deps = [ "//platform/base/change:go_default_library", - "//platform/extension/buildrunner/githubactions:go_default_library", + "//platform/githubactions:go_default_library", "//platform/http:go_default_library", "//submitqueue/core/changeset:go_default_library", "//submitqueue/core/changeset/fake:go_default_library", diff --git a/submitqueue/extension/buildrunner/githubactions/README.md b/submitqueue/extension/buildrunner/githubactions/README.md index 69802ac00..5c5e15aca 100644 --- a/submitqueue/extension/buildrunner/githubactions/README.md +++ b/submitqueue/extension/buildrunner/githubactions/README.md @@ -6,7 +6,7 @@ architecture against a common CI system without adding local state. Its HTTP client and GitHub Actions-specific facts (run status/conclusion vocabulary, run id encoding) live in -[`platform/extension/buildrunner/githubactions`](../../../../platform/extension/buildrunner/githubactions/README.md), +[`platform/githubactions`](../../../../platform/githubactions/README.md), shared with `stovepipe`'s own GitHub Actions backend. ## How it works diff --git a/submitqueue/extension/buildrunner/githubactions/githubactions.go b/submitqueue/extension/buildrunner/githubactions/githubactions.go index 160fa4f53..02cb1d7db 100644 --- a/submitqueue/extension/buildrunner/githubactions/githubactions.go +++ b/submitqueue/extension/buildrunner/githubactions/githubactions.go @@ -28,7 +28,7 @@ import ( "go.uber.org/zap" "github.com/uber/submitqueue/platform/base/change" - platformgithubactions "github.com/uber/submitqueue/platform/extension/buildrunner/githubactions" + platformgithubactions "github.com/uber/submitqueue/platform/githubactions" "github.com/uber/submitqueue/submitqueue/core/changeset" "github.com/uber/submitqueue/submitqueue/entity" "github.com/uber/submitqueue/submitqueue/extension/buildrunner" diff --git a/submitqueue/extension/buildrunner/githubactions/githubactions_test.go b/submitqueue/extension/buildrunner/githubactions/githubactions_test.go index 8b4580f12..01b754417 100644 --- a/submitqueue/extension/buildrunner/githubactions/githubactions_test.go +++ b/submitqueue/extension/buildrunner/githubactions/githubactions_test.go @@ -29,7 +29,7 @@ import ( "go.uber.org/zap" "github.com/uber/submitqueue/platform/base/change" - platformgithubactions "github.com/uber/submitqueue/platform/extension/buildrunner/githubactions" + platformgithubactions "github.com/uber/submitqueue/platform/githubactions" phttp "github.com/uber/submitqueue/platform/http" "github.com/uber/submitqueue/submitqueue/core/changeset" changesetfake "github.com/uber/submitqueue/submitqueue/core/changeset/fake"