diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aabdd9f59..aa8f2b41b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -92,7 +92,7 @@ jobs: - uses: ./.github/actions/setup - name: Run Gateway integration tests - run: make integration-test-gateway + run: make integration-test-submitqueue-gateway orchestrator-integration-test: name: Orchestrator Integration Test @@ -103,7 +103,7 @@ jobs: - uses: ./.github/actions/setup - name: Run Orchestrator integration tests - run: make integration-test-orchestrator + run: make integration-test-submitqueue-orchestrator # --------------------------------------------------------------------------- # EXTENSION TESTS @@ -117,7 +117,7 @@ jobs: - uses: ./.github/actions/setup - uses: ./.github/actions/run-bazel-test with: - target: //test/integration/extension/counter/... + target: //test/integration/submitqueue/extension/counter/... queue-integration-test: name: Queue Extension Test @@ -139,7 +139,7 @@ jobs: - uses: ./.github/actions/setup - uses: ./.github/actions/run-bazel-test with: - target: //test/integration/extension/storage/... + target: //test/integration/submitqueue/extension/storage/... # --------------------------------------------------------------------------- # CORE TESTS @@ -153,7 +153,7 @@ jobs: - uses: ./.github/actions/setup - uses: ./.github/actions/run-bazel-test with: - target: //test/integration/core/consumer/... + target: //test/integration/submitqueue/core/consumer/... # --------------------------------------------------------------------------- # REQUIRED CHECKS GATE diff --git a/BUILD.bazel b/BUILD.bazel index 384eafe91..3f35d8136 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -7,8 +7,8 @@ load("@gazelle//:def.bzl", "gazelle") # gazelle:exclude .claude # Resolve protobuf import ambiguities - use the actual protopb packages, not the proto aliases -# gazelle:resolve go github.com/uber/submitqueue/gateway/protopb //gateway/protopb -# gazelle:resolve go github.com/uber/submitqueue/orchestrator/protopb //orchestrator/protopb +# gazelle:resolve go github.com/uber/submitqueue/submitqueue/gateway/protopb //submitqueue/gateway/protopb +# gazelle:resolve go github.com/uber/submitqueue/submitqueue/orchestrator/protopb //submitqueue/orchestrator/protopb # gazelle:resolve go github.com/uber/submitqueue/stovepipe/gateway/protopb //stovepipe/gateway/protopb # gazelle:resolve go github.com/uber/submitqueue/stovepipe/orchestrator/protopb //stovepipe/orchestrator/protopb diff --git a/CLAUDE.md b/CLAUDE.md index f78731ca2..75bf39b50 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -9,7 +9,7 @@ SubmitQueue is a distributed system for managing code submission workflows. It f 1. **Immutable entities** — once created, don't modify in place. Create new versions with updated fields. 2. **Eventual consistency** — handle stale reads, idempotent operations, and convergence over time. 3. **Event sourcing** — store events (what happened) rather than just current state for critical changes. -4. **Optimistic locking** — use version numbers instead of pessimistic locks. Avoid transactions; prefer optimistic concurrency and retries. **Version arithmetic lives in the controller, not the storage layer.** Update methods take both `oldVersion` (the where-clause guard) and `newVersion` (the value to write); the store performs a pure conditional write. Controllers compute `newVersion = oldVersion + 1`, call the store, and only assign `entity.Version = newVersion` after the call succeeds. Pre-incrementing in memory before the call is a bug pattern — on error the in-memory version drifts ahead of the database. See [extension/storage/README.md](extension/storage/README.md). +4. **Optimistic locking** — use version numbers instead of pessimistic locks. Avoid transactions; prefer optimistic concurrency and retries. **Version arithmetic lives in the controller, not the storage layer.** Update methods take both `oldVersion` (the where-clause guard) and `newVersion` (the value to write); the store performs a pure conditional write. Controllers compute `newVersion = oldVersion + 1`, call the store, and only assign `entity.Version = newVersion` after the call succeeds. Pre-incrementing in memory before the call is a bug pattern — on error the in-memory version drifts ahead of the database. See [submitqueue/extension/storage/README.md](submitqueue/extension/storage/README.md). 5. **Idempotency keys** — include unique request IDs, check for duplicates before executing. ```go @@ -35,27 +35,37 @@ request.Version = newVersion ### Project Layout ``` -submitqueue/ -├── gateway/ # Gateway service (port 8081) - entry point -├── orchestrator/ # Orchestrator service (port 8082) - coordinates jobs -├── entity/ # Domain entities (Request, Change, enums) +submitqueue/ # repo root (Go module github.com/uber/submitqueue) +├── core/ # SHARED cross-domain infrastructure (errs, httpclient, metrics) — no domain deps +├── entity/ # SHARED domain entities │ └── queue/ # Queue-specific entities (Message) -├── extension/ # Pluggable backend implementations -│ ├── counter/ # Sequential number generation (interface + mysql/) -│ ├── queue/ # Messaging queue abstraction (interface + sql/) -│ └── storage/ # Storage abstraction (interface + mysql/) -├── core/ # Shared infrastructure packages reused across services -│ ├── consumer/ # Queue consumption framework (lifecycle, ack/nack, routing) -│ └── errs/ # Error classification framework (user vs infra, retryability) +├── extension/ # SHARED extensions +│ └── queue/ # Messaging queue abstraction (interface + mysql/) +├── submitqueue/ # SubmitQueue domain +│ ├── gateway/ # Gateway service (port 8081) - entry point +│ ├── orchestrator/ # Orchestrator service (port 8082) - coordinates jobs +│ ├── entity/ # SubmitQueue-specific domain entities +│ ├── extension/ # SubmitQueue-specific extension impls (storage, counter, mergechecker, ...) +│ └── core/ # SubmitQueue-internal shared infra (consumer, request) +├── stovepipe/ # Stovepipe domain +│ ├── gateway/ # Gateway service: commit deployment verification entry point +│ ├── orchestrator/ # Orchestrator service: commit verification pipeline +│ ├── entity/ # Stovepipe-specific domain entities +│ ├── extension/ # Stovepipe-specific extension impls +│ └── core/ # Stovepipe-internal shared infra (placeholder; mirrors submitqueue/core) ├── tool/ # Development and CI tooling -├── example/server/ # Runnable servers with Docker Compose +├── example/ +│ ├── submitqueue/ # Runnable SubmitQueue servers/clients + Docker Compose +│ └── stovepipe/ # Runnable Stovepipe servers/clients ├── test/ -│ ├── e2e/ # End-to-end tests (full stack) -│ ├── integration/ # Integration tests (per-service + extensions) +│ ├── e2e/submitqueue/ # End-to-end tests (full stack) +│ ├── integration/ # Integration tests (core/, submitqueue/, stovepipe/) │ └── testutil/ # Test utilities (ComposeStack, MySQL helpers) └── doc/ # Documentation ``` +The repo hosts shared building blocks at the top level — cross-domain infrastructure in `core/`, shared entities in `entity/`, shared extensions in `extension/` — followed by one folder per **domain** (`submitqueue/`, `stovepipe/`). Each domain owns the same internal layout (`gateway/`, `orchestrator/`, `entity/`, `extension/`, `core/`); a domain's own `core/` (e.g. `submitqueue/core/`) holds infra shared only between that domain's services. + ### Services Each service follows the same layout: @@ -122,13 +132,17 @@ When in doubt, ask: *"If the next implementation were DynamoDB / Kafka / Bigtabl ### Import Paths -- RPC Controllers: `github.com/uber/submitqueue/{service}/controller` -- Queue Controllers: `github.com/uber/submitqueue/{service}/controller/{step}` -- Consumer: `github.com/uber/submitqueue/core/consumer` -- Proto (generated): `github.com/uber/submitqueue/{service}/protopb` -- Extensions: `github.com/uber/submitqueue/extension/{extension}` -- Extension impl: `github.com/uber/submitqueue/extension/{extension}/{impl}` -- Entities: `github.com/uber/submitqueue/entity/{domain}` +Paths follow the directory layout: shared code is top-level, domain code nests under the domain folder (`submitqueue/`, `stovepipe/`). + +- RPC Controllers: `github.com/uber/submitqueue/{domain}/{service}/controller` (e.g. `.../submitqueue/gateway/controller`) +- Queue Controllers: `github.com/uber/submitqueue/{domain}/{service}/controller/{step}` +- Proto (generated): `github.com/uber/submitqueue/{domain}/{service}/protopb` +- Domain entities: `github.com/uber/submitqueue/{domain}/entity` (e.g. `.../submitqueue/entity`) +- Domain extensions: `github.com/uber/submitqueue/{domain}/extension/{ext}[/{impl}]` (e.g. `.../submitqueue/extension/storage/mysql`) +- Domain-internal infra: `github.com/uber/submitqueue/{domain}/core/{pkg}` (e.g. `.../submitqueue/core/consumer`, `.../submitqueue/core/request`) +- Shared entities: `github.com/uber/submitqueue/entity/{name}` (e.g. `.../entity/queue`) +- Shared extensions: `github.com/uber/submitqueue/extension/{name}` (e.g. `.../extension/queue`) +- Cross-domain infra: `github.com/uber/submitqueue/core/{pkg}` (e.g. `.../core/errs`, `.../core/metrics`) ## Development @@ -144,7 +158,7 @@ Bazel with Bzlmod (NOT WORKSPACE). ### Proto Generation Generated proto files are committed. When modifying `.proto` files: -1. Edit in `{service}/proto/` +1. Edit in `{domain}/{service}/proto/` (e.g. `submitqueue/gateway/proto/`) 2. `make proto` (generates `*.pb.go`, `*_grpc.pb.go`, `*.pb.yarpc.go`) 3. Commit all generated files @@ -153,6 +167,7 @@ Generated proto files are committed. When modifying `.proto` files: - **Directories**: singular (`mock/`, `entity/`, not `mocks/`, `entities/`) - **Files**: `{method}.go`, `{entity}.go`, `{file}_test.go`, `BUILD.bazel` - **Proto files**: `{service}.proto` +- **Test compose contexts**: the `testContext` passed to `NewComposeStack` (and thus the `sq-test-{context}-…` Docker project/container names) must be **domain-qualified** — `{category}-{domain}-{name}` where `{category}` is `svc`/`ext`/`core`/`e2e` and `{domain}` is `submitqueue`/`stovepipe`/… (omit the domain only for shared/cross-domain suites, e.g. `ext-queue-sql`). This keeps containers unambiguous and lets suites run in parallel. See [doc/howto/TESTING.md](doc/howto/TESTING.md#container-naming). - **README files**: Do not duplicate interface or type definitions as code blocks in READMEs. Describe behavior in prose and let readers navigate to the source. Only include code samples when explicitly instructed. - **Markdown prose width**: Do not hard-wrap prose in Markdown docs (RFCs under `doc/`, READMEs). Write one line per paragraph and one line per list item, and let the editor soft-wrap — hard wrapping at a fixed column renders as a narrow fixed-width column regardless of window size. Code blocks, tables, and ASCII diagrams keep their own line breaks. @@ -180,9 +195,9 @@ make mocks # Generate mock files using mockgen make integration-test # Run all integration tests (Docker-based) make e2e-test # Run end-to-end tests make proto # Regenerate proto files -make local-start # Start full stack with Docker Compose -make local-ps # Show running containers and ports -make local-logs # View logs from all services +make local-submitqueue-start # Start full stack with Docker Compose +make local-submitqueue-ps # Show running containers and ports +make local-submitqueue-logs # View logs from all services make local-stop # Stop all services make clean # Clean Bazel cache ``` @@ -190,26 +205,26 @@ make clean # Clean Bazel cache ### Common Workflows **Add new RPC method:** -1. Edit `{service}/proto/*.proto` → `make proto` -2. Add controller in `{service}/controller/` -3. Wire up in `example/server/{service}/main.go` +1. Edit `{domain}/{service}/proto/*.proto` → `make proto` +2. Add controller in `{domain}/{service}/controller/` +3. Wire up in `example/{domain}/{service}/server/main.go` **Add new queue message controller:** -1. Create `{service}/controller/{step}/` implementing `consumer.Controller` -2. Wire up in `example/server/{service}/main.go` +1. Create `{domain}/{service}/controller/{step}/` implementing `consumer.Controller` +2. Wire up in `example/{domain}/{service}/server/main.go` **Add new extension:** -1. Create `extension/{ext}/{impl}/` with factory and interfaces +1. Create the extension under `{domain}/extension/{ext}/{impl}/` (domain-specific, e.g. `submitqueue/extension/...`) or top-level `extension/{ext}/{impl}/` (shared across domains) with factory and interfaces 2. Add `BUILD.bazel`, tests, and README.md **Add new entity:** -1. Create `entity/{domain}/{entity}.go` with test file and `BUILD.bazel` +1. Create `{domain}/entity/{entity}.go` (domain-specific) or top-level `entity/{name}/{entity}.go` (shared) with test file and `BUILD.bazel` **Add gomock for an extension interface:** -Mocks are checked-in files generated by [mockgen](https://github.com/uber-go/mock). Run `make mocks` to regenerate, then `make gazelle` to update BUILD files. See `extension/storage/mock/` for the canonical example. +Mocks are checked-in files generated by [mockgen](https://github.com/uber-go/mock). Run `make mocks` to regenerate, then `make gazelle` to update BUILD files. See `submitqueue/extension/storage/mock/` for the canonical example. -To add a mock for a new interface file in an existing mock package (e.g., `extension/storage/new_store.go`): +To add a mock for a new interface file in an existing mock package (e.g., `submitqueue/extension/storage/new_store.go`): 1. Add a `//go:generate` directive to the interface file: ```go @@ -219,10 +234,10 @@ To add a mock for a new interface file in an existing mock package (e.g., `exten 3. Run `make gazelle` to update `BUILD.bazel` files. 4. Commit the generated mock file. -To create a mock package for a new extension (e.g., `extension/newext/mock/`): +To create a mock package for a new extension (e.g., `submitqueue/extension/newext/mock/`): 1. Add `//go:generate` directives to each interface file (same pattern as above). -2. Create the `mock/` directory: `mkdir extension/newext/mock/`. +2. Create the `mock/` directory: `mkdir submitqueue/extension/newext/mock/`. 3. Run `make mocks` to generate mock files into the new directory. 4. Run `make gazelle` to create the `BUILD.bazel` file automatically. @@ -233,7 +248,7 @@ For inline mocks (mock in the same package, e.g., `extension/queue/mysql/mock_st **Using mocks in tests:** ```go -import storagemock "github.com/uber/submitqueue/extension/storage/mock" +import storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" ctrl := gomock.NewController(t) mockStore := storagemock.NewMockRequestStore(ctrl) @@ -243,7 +258,7 @@ mockStore.EXPECT().Create(gomock.Any(), gomock.Any()).Return(nil) Test `BUILD.bazel` deps: ```starlark deps = [ - "//extension/storage/mock", + "//submitqueue/extension/storage/mock", "@org_uber_go_mock//gomock", ] ``` diff --git a/Makefile b/Makefile index cfc936fa4..a14ee52a9 100644 --- a/Makefile +++ b/Makefile @@ -5,9 +5,9 @@ BAZEL = ./tool/bazel COMPOSE = docker-compose # SubmitQueue compose files -COMPOSE_FILE = example/server/docker-compose.yml -GATEWAY_COMPOSE_FILE = example/server/gateway/docker-compose.yml -ORCHESTRATOR_COMPOSE_FILE = example/server/orchestrator/docker-compose.yml +COMPOSE_FILE = example/submitqueue/docker-compose.yml +GATEWAY_COMPOSE_FILE = example/submitqueue/gateway/server/docker-compose.yml +ORCHESTRATOR_COMPOSE_FILE = example/submitqueue/orchestrator/server/docker-compose.yml # Fixed project name for local manual testing (tests use unique random names) SUBMITQUEUE_LOCAL_PROJECT = submitqueue @@ -40,7 +40,7 @@ define assert_clean fi endef -.PHONY: build build-all-linux build-gateway-linux build-orchestrator-linux build-stovepipe-gateway-linux build-stovepipe-orchestrator-linux check-gazelle check-mocks check-tidy clean clean-proto deps e2e-test fmt gazelle integration-test integration-test-consumer integration-test-extensions integration-test-gateway integration-test-orchestrator license-fix lint lint-fmt lint-license local-clean local-gateway-start local-gateway-stop local-init-schemas local-init-stovepipe-queue-schema local-logs local-orchestrator-start local-orchestrator-stop local-ps local-restart local-start local-stop local-stovepipe-gateway-start local-stovepipe-orchestrator-start local-stovepipe-start mocks proto query-deps query-targets run-client-gateway run-client-orchestrator run-client-stovepipe-gateway run-client-stovepipe-orchestrator run-queue-admin test test-no-cache tidy tidy-bazel tidy-go help +.PHONY: build build-all-linux build-submitqueue-gateway-linux build-submitqueue-orchestrator-linux build-stovepipe-gateway-linux build-stovepipe-orchestrator-linux check-gazelle check-mocks check-tidy clean clean-proto deps e2e-test fmt gazelle integration-test integration-test-submitqueue-consumer integration-test-extensions integration-test-submitqueue-gateway integration-test-submitqueue-orchestrator license-fix lint lint-fmt lint-license local-submitqueue-clean local-submitqueue-gateway-start local-submitqueue-gateway-stop local-init-submitqueue-schemas local-init-stovepipe-queue-schema local-submitqueue-logs local-submitqueue-orchestrator-start local-submitqueue-orchestrator-stop local-submitqueue-ps local-submitqueue-restart local-submitqueue-start local-stop local-stovepipe-gateway-start local-stovepipe-orchestrator-start local-stovepipe-start mocks proto query-deps query-targets run-client-submitqueue-gateway run-client-submitqueue-orchestrator run-client-stovepipe-gateway run-client-stovepipe-orchestrator run-queue-admin test test-no-cache tidy tidy-bazel tidy-go help build: ## Build all services and examples @@ -49,23 +49,23 @@ build: ## Build all services and examples @echo "Build complete!" # Build Linux binaries required for Docker containers -build-all-linux: build-gateway-linux build-orchestrator-linux build-stovepipe-gateway-linux build-stovepipe-orchestrator-linux ## Build all Linux binaries for Docker +build-all-linux: build-submitqueue-gateway-linux build-submitqueue-orchestrator-linux build-stovepipe-gateway-linux build-stovepipe-orchestrator-linux ## Build all Linux binaries for Docker @echo "All Linux binaries ready for Docker" -build-gateway-linux: ## Build Gateway Linux binary for Docker +build-submitqueue-gateway-linux: ## Build Gateway Linux binary for Docker @echo "Building Gateway Linux binary for Docker..." - @$(BAZEL) build --platforms=@rules_go//go/toolchain:linux_amd64 //example/server/gateway:gateway + @$(BAZEL) build --platforms=@rules_go//go/toolchain:linux_amd64 //example/submitqueue/gateway/server:gateway @mkdir -p .docker-bin - @cp -f bazel-bin/example/server/gateway/gateway_/gateway .docker-bin/gateway 2>/dev/null || \ - cp -f bazel-bin/example/server/gateway/gateway .docker-bin/gateway + @cp -f bazel-bin/example/submitqueue/gateway/server/gateway_/gateway .docker-bin/gateway 2>/dev/null || \ + cp -f bazel-bin/example/submitqueue/gateway/server/gateway .docker-bin/gateway @echo "Gateway Linux binary ready at .docker-bin/gateway" -build-orchestrator-linux: ## Build Orchestrator Linux binary for Docker +build-submitqueue-orchestrator-linux: ## Build Orchestrator Linux binary for Docker @echo "Building Orchestrator Linux binary for Docker..." - @$(BAZEL) build --platforms=@rules_go//go/toolchain:linux_amd64 //example/server/orchestrator:orchestrator + @$(BAZEL) build --platforms=@rules_go//go/toolchain:linux_amd64 //example/submitqueue/orchestrator/server:orchestrator @mkdir -p .docker-bin - @cp -f bazel-bin/example/server/orchestrator/orchestrator_/orchestrator .docker-bin/orchestrator 2>/dev/null || \ - cp -f bazel-bin/example/server/orchestrator/orchestrator .docker-bin/orchestrator + @cp -f bazel-bin/example/submitqueue/orchestrator/server/orchestrator_/orchestrator .docker-bin/orchestrator 2>/dev/null || \ + cp -f bazel-bin/example/submitqueue/orchestrator/server/orchestrator .docker-bin/orchestrator @echo "Orchestrator Linux binary ready at .docker-bin/orchestrator" build-stovepipe-gateway-linux: ## Build Stovepipe gateway Linux binary for Docker @@ -106,8 +106,8 @@ clean: ## Clean generated files and binaries clean-proto: ## Clean generated proto files @echo "Cleaning generated proto files..." - @rm -rf gateway/protopb/*.pb.go - @rm -rf orchestrator/protopb/*.pb.go + @rm -rf submitqueue/gateway/protopb/*.pb.go + @rm -rf submitqueue/orchestrator/protopb/*.pb.go @rm -rf stovepipe/gateway/protopb/*.pb.go @rm -rf stovepipe/orchestrator/protopb/*.pb.go @echo "Proto clean complete!" @@ -115,9 +115,9 @@ clean-proto: ## Clean generated proto files deps: tidy-go ## Download and tidy Go dependencies @echo "Dependencies installed!" -e2e-test: build-all-linux ## Run end-to-end tests (hermetic, auto-builds binaries) - @echo "Running end-to-end tests..." - @$(BAZEL) test //test/e2e:e2e_test --test_output=streamed +e2e-test: build-all-linux ## Run end-to-end tests (hermetic, auto-builds binaries; runs in parallel) + @echo "Running end-to-end tests (parallel)..." + @$(BAZEL) test //test/e2e/... --test_output=errors fmt: ## Format Go and YAML code @echo "Formatting Go code..." @@ -130,25 +130,25 @@ gazelle: ## Update BUILD.bazel files @echo "Running Gazelle to update BUILD files..." @$(BAZEL) run //:gazelle -integration-test: build-all-linux ## Run all integration tests (auto-builds binaries) - @echo "Running all integration tests..." - @$(BAZEL) test //test/integration/... --test_output=streamed +integration-test: build-all-linux ## Run all integration tests (auto-builds binaries; runs in parallel) + @echo "Running all integration tests (parallel)..." + @$(BAZEL) test //test/integration/... --test_output=errors -integration-test-consumer: ## Run Consumer integration tests +integration-test-submitqueue-consumer: ## Run Consumer integration tests @echo "Running Consumer integration tests..." - @$(BAZEL) test //test/integration/core/consumer:consumer_test --test_output=streamed + @$(BAZEL) test //test/integration/submitqueue/core/consumer:consumer_test --test_output=streamed -integration-test-extensions: ## Run extension integration tests - @echo "Running extension integration tests..." - @$(BAZEL) test //test/integration/extension/... --test_output=streamed +integration-test-extensions: ## Run extension integration tests (runs in parallel) + @echo "Running extension integration tests (parallel)..." + @$(BAZEL) test //test/integration/submitqueue/extension/... //test/integration/extension/... --test_output=errors -integration-test-gateway: build-gateway-linux ## Run Gateway integration tests (auto-builds binary) +integration-test-submitqueue-gateway: build-submitqueue-gateway-linux ## Run Gateway integration tests (auto-builds binary) @echo "Running Gateway integration tests..." - @$(BAZEL) test //test/integration/gateway:gateway_test --test_output=streamed + @$(BAZEL) test //test/integration/submitqueue/gateway:gateway_test --test_output=streamed -integration-test-orchestrator: build-orchestrator-linux ## Run Orchestrator integration tests (auto-builds binary) +integration-test-submitqueue-orchestrator: build-submitqueue-orchestrator-linux ## Run Orchestrator integration tests (auto-builds binary) @echo "Running Orchestrator integration tests..." - @$(BAZEL) test //test/integration/orchestrator:orchestrator_test --test_output=streamed + @$(BAZEL) test //test/integration/submitqueue/orchestrator:orchestrator_test --test_output=streamed license-fix: ## Add missing license headers to source files @$(BAZEL) run //tool/linter/licenseheader -- --fix @@ -163,16 +163,16 @@ lint-fmt: fmt ## Check code formatting (fails if unformatted) lint-license: ## Check license headers on all source files @$(BAZEL) run //tool/linter/licenseheader -- --check -local-clean: ## Stop and remove all local services, volumes, and images +local-submitqueue-clean: ## Stop and remove all local services, volumes, and images @echo "Cleaning all services and data..." @$(COMPOSE) -f $(COMPOSE_FILE) -p $(SUBMITQUEUE_LOCAL_PROJECT) down -v --rmi local @echo "All services, volumes, and images removed." -local-gateway-start: build-gateway-linux ## Start Gateway service locally (Gateway + 2 MySQL databases) +local-submitqueue-gateway-start: build-submitqueue-gateway-linux ## Start Gateway service locally (Gateway + 2 MySQL databases) @echo "Starting Gateway with docker-compose..." @$(COMPOSE) -f $(GATEWAY_COMPOSE_FILE) -p $(SUBMITQUEUE_LOCAL_PROJECT) up -d --build --wait @echo "Applying database schemas..." - @$(MAKE) -s local-init-schemas + @$(MAKE) -s local-init-submitqueue-schemas @echo "" @echo "✅ Gateway is running!" @echo "" @@ -182,19 +182,19 @@ local-gateway-start: build-gateway-linux ## Start Gateway service locally (Gatew @echo "MySQL App port: $$(docker port $(SUBMITQUEUE_LOCAL_PROJECT)-mysql-app-1 3306 2>/dev/null | cut -d: -f2 || echo 'unknown')" @echo "MySQL Queue port: $$(docker port $(SUBMITQUEUE_LOCAL_PROJECT)-mysql-queue-1 3306 2>/dev/null | cut -d: -f2 || echo 'unknown')" -local-gateway-stop: ## Stop Gateway service +local-submitqueue-gateway-stop: ## Stop Gateway service @echo "Stopping Gateway services..." @$(COMPOSE) -f $(GATEWAY_COMPOSE_FILE) -p $(SUBMITQUEUE_LOCAL_PROJECT) down @echo "Gateway services stopped." -local-init-schemas: ## Manually apply all database schemas +local-init-submitqueue-schemas: ## Manually apply all database schemas @echo "Applying storage schema to mysql-app..." - @for file in extension/storage/mysql/schema/*.sql; do \ + @for file in submitqueue/extension/storage/mysql/schema/*.sql; do \ echo " - Applying $$(basename $$file)..."; \ docker exec -i $(SUBMITQUEUE_LOCAL_PROJECT)-mysql-app-1 mysql -uroot -proot submitqueue < $$file 2>&1 | grep -v "Using a password" || true; \ done @echo "Applying counter schema to mysql-app..." - @for file in extension/counter/mysql/schema/*.sql; do \ + @for file in submitqueue/extension/counter/mysql/schema/*.sql; do \ echo " - Applying $$(basename $$file)..."; \ docker exec -i $(SUBMITQUEUE_LOCAL_PROJECT)-mysql-app-1 mysql -uroot -proot submitqueue < $$file 2>&1 | grep -v "Using a password" || true; \ done @@ -213,14 +213,14 @@ local-init-stovepipe-queue-schema: ## Apply queue schema only (mysql-queue) for done @echo "✅ Stovepipe queue schema applied successfully" -local-logs: ## View logs from all running services +local-submitqueue-logs: ## View logs from all running services @$(COMPOSE) -f $(COMPOSE_FILE) -p $(SUBMITQUEUE_LOCAL_PROJECT) logs -f -local-orchestrator-start: build-orchestrator-linux ## Start Orchestrator service locally (Orchestrator + 2 MySQL databases) +local-submitqueue-orchestrator-start: build-submitqueue-orchestrator-linux ## Start Orchestrator service locally (Orchestrator + 2 MySQL databases) @echo "Starting Orchestrator with docker-compose..." @$(COMPOSE) -f $(ORCHESTRATOR_COMPOSE_FILE) -p $(SUBMITQUEUE_LOCAL_PROJECT) up -d --build --wait @echo "Applying database schemas..." - @$(MAKE) -s local-init-schemas + @$(MAKE) -s local-init-submitqueue-schemas @echo "" @echo "✅ Orchestrator is running!" @echo "" @@ -230,12 +230,12 @@ local-orchestrator-start: build-orchestrator-linux ## Start Orchestrator service @echo "MySQL App port: $$(docker port $(SUBMITQUEUE_LOCAL_PROJECT)-mysql-app-1 3306 2>/dev/null | cut -d: -f2 || echo 'unknown')" @echo "MySQL Queue port: $$(docker port $(SUBMITQUEUE_LOCAL_PROJECT)-mysql-queue-1 3306 2>/dev/null | cut -d: -f2 || echo 'unknown')" -local-orchestrator-stop: ## Stop Orchestrator service +local-submitqueue-orchestrator-stop: ## Stop Orchestrator service @echo "Stopping Orchestrator services..." @$(COMPOSE) -f $(ORCHESTRATOR_COMPOSE_FILE) -p $(SUBMITQUEUE_LOCAL_PROJECT) down @echo "Orchestrator services stopped." -local-ps: ## Show running containers and their ports +local-submitqueue-ps: ## Show running containers and their ports @echo "Running containers and ports:" @echo "" @$(COMPOSE) -f $(COMPOSE_FILE) -p $(SUBMITQUEUE_LOCAL_PROJECT) ps @@ -256,23 +256,23 @@ local-ps: ## Show running containers and their ports @echo " grpcurl -plaintext -d '{\"message\":\"test\"}' localhost:$$(docker port $(SUBMITQUEUE_LOCAL_PROJECT)-gateway-service-1 8080 2>/dev/null | cut -d: -f2 || echo 'PORT') submitqueue.SubmitQueueGateway/Ping" @echo "" @echo " # View logs" - @echo " make local-logs" + @echo " make local-submitqueue-logs" -local-restart: build-all-linux ## Restart all services (rebuild and restart) +local-submitqueue-restart: build-all-linux ## Restart all services (rebuild and restart) @echo "Restarting all services..." @$(COMPOSE) -f $(COMPOSE_FILE) -p $(SUBMITQUEUE_LOCAL_PROJECT) restart @echo "Services restarted!" - @make local-ps + @make local-submitqueue-ps -local-start: build-all-linux ## Start full stack (Gateway + Orchestrator + MySQL) +local-submitqueue-start: build-all-linux ## Start full stack (Gateway + Orchestrator + MySQL) @echo "Starting full stack with docker-compose..." @$(COMPOSE) -f $(COMPOSE_FILE) -p $(SUBMITQUEUE_LOCAL_PROJECT) up -d --build --wait @echo "Applying database schemas..." - @$(MAKE) -s local-init-schemas + @$(MAKE) -s local-init-submitqueue-schemas @echo "" @echo "✅ Full stack is running!" @echo "" - @make local-ps + @make local-submitqueue-ps local-stop: ## Stop all services (keep data) @echo "Stopping all services..." @@ -334,19 +334,19 @@ local-stovepipe-gateway-start: build-stovepipe-gateway-linux ## Start Stovepipe mocks: ## Generate mock files using mockgen @echo "Generating mocks..." - @$(BAZEL) run @rules_go//go -- generate ./extension/storage/... ./extension/buildrunner/... ./extension/changestore/... ./extension/counter/... ./extension/queue/... ./extension/queueconfig/... ./extension/mergechecker/... ./extension/pusher/... ./extension/scorer/... ./extension/conflict/... ./core/consumer/... + @$(BAZEL) run @rules_go//go -- generate ./submitqueue/extension/storage/... ./submitqueue/extension/buildrunner/... ./submitqueue/extension/changestore/... ./submitqueue/extension/counter/... ./extension/queue/... ./submitqueue/extension/queueconfig/... ./submitqueue/extension/mergechecker/... ./submitqueue/extension/pusher/... ./submitqueue/extension/scorer/... ./submitqueue/extension/conflict/... ./submitqueue/core/consumer/... @echo "Mocks generated successfully!" proto: ## Generate protobuf files from .proto definitions @echo "Generating protobuf files with protoc..." - @protoc --go_out=gateway/protopb --go_opt=paths=source_relative \ - --go-grpc_out=gateway/protopb --go-grpc_opt=paths=source_relative \ - --yarpc-go_out=gateway/protopb --yarpc-go_opt=paths=source_relative \ - --proto_path=gateway/proto gateway/proto/gateway.proto - @protoc --go_out=orchestrator/protopb --go_opt=paths=source_relative \ - --go-grpc_out=orchestrator/protopb --go-grpc_opt=paths=source_relative \ - --yarpc-go_out=orchestrator/protopb --yarpc-go_opt=paths=source_relative \ - --proto_path=orchestrator/proto orchestrator/proto/orchestrator.proto + @protoc --go_out=submitqueue/gateway/protopb --go_opt=paths=source_relative \ + --go-grpc_out=submitqueue/gateway/protopb --go-grpc_opt=paths=source_relative \ + --yarpc-go_out=submitqueue/gateway/protopb --yarpc-go_opt=paths=source_relative \ + --proto_path=submitqueue/gateway/proto submitqueue/gateway/proto/gateway.proto + @protoc --go_out=submitqueue/orchestrator/protopb --go_opt=paths=source_relative \ + --go-grpc_out=submitqueue/orchestrator/protopb --go-grpc_opt=paths=source_relative \ + --yarpc-go_out=submitqueue/orchestrator/protopb --yarpc-go_opt=paths=source_relative \ + --proto_path=submitqueue/orchestrator/proto submitqueue/orchestrator/proto/orchestrator.proto @protoc --go_out=stovepipe/gateway/protopb --go_opt=paths=source_relative \ --go-grpc_out=stovepipe/gateway/protopb --go-grpc_opt=paths=source_relative \ --yarpc-go_out=stovepipe/gateway/protopb --yarpc-go_opt=paths=source_relative \ @@ -359,18 +359,18 @@ proto: ## Generate protobuf files from .proto definitions # Bazel query helpers query-deps: - @$(BAZEL) query 'deps(//example/server/gateway:gateway)' + @$(BAZEL) query 'deps(//example/submitqueue/gateway/server:gateway)' query-targets: @$(BAZEL) query //... # Run gateway client (connects to any running gateway service) -run-client-gateway: - @$(BAZEL) run //example/client/gateway:gateway -- -addr $(or $(SERVER_ADDR),localhost:8081) -message "$(or $(MESSAGE),ping)" +run-client-submitqueue-gateway: + @$(BAZEL) run //example/submitqueue/gateway/client:gateway -- -addr $(or $(SERVER_ADDR),localhost:8081) -message "$(or $(MESSAGE),ping)" # Run orchestrator client (connects to any running orchestrator service) -run-client-orchestrator: - @$(BAZEL) run //example/client/orchestrator:orchestrator -- -addr $(or $(SERVER_ADDR),localhost:8082) -message "$(or $(MESSAGE),ping)" +run-client-submitqueue-orchestrator: + @$(BAZEL) run //example/submitqueue/orchestrator/client:orchestrator -- -addr $(or $(SERVER_ADDR),localhost:8082) -message "$(or $(MESSAGE),ping)" # Run stovepipe gateway client (connects to any running stovepipe gateway service) run-client-stovepipe-gateway: diff --git a/README.md b/README.md index 5e128dd7d..7dd4cd70d 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ make build make test # Start full stack locally (Gateway + Orchestrator + MySQL via Docker Compose) -make local-start +make local-submitqueue-start # Test with grpcurl grpcurl -plaintext -d '{"message": "hello"}' localhost:8081 uber.submitqueue.gateway.SubmitQueueGateway/Ping diff --git a/core/README.md b/core/README.md index c21235f6e..ddc2a3770 100644 --- a/core/README.md +++ b/core/README.md @@ -1,9 +1,11 @@ # Core -Shared infrastructure packages reused across services. These are internal building blocks — not domain entities, not pluggable extensions, but foundational components that services depend on directly. +Cross-domain infrastructure packages reused across services and domains (SubmitQueue, Stovepipe, and other repo-local services). These are foundational building blocks — not domain entities, not pluggable extensions — and they carry **no domain dependencies**. + +For infrastructure shared only *within* a single domain (across that domain's own gateway and orchestrator), see the domain-scoped `core/` package, e.g. `submitqueue/core/` (which holds the queue `consumer` framework and the `request` lifecycle). ## Packages -- **consumer/** — Queue message consumption framework. Manages subscription lifecycle, message routing to controllers, automatic ack/nack, error classification (retryable vs. poison pill), and graceful shutdown. Services register `Controller` implementations and the consumer handles the rest. - **errs/** — Error classification framework. Classifies errors by origin (user vs. infra) and retryability. Extensions return plain errors; service controllers classify them. +- **httpclient/** — Shared HTTP transport helpers (timeouts, instrumentation) for extensions that talk to external services over HTTP. - **metrics/** — Metrics utility helpers for `tally.Scope`. Provides standardized counters, timers, and histograms with error-aware tagging via `core/errs` integration. diff --git a/doc/howto/DEVELOPMENT.md b/doc/howto/DEVELOPMENT.md index 76451154d..9fccc2bd3 100644 --- a/doc/howto/DEVELOPMENT.md +++ b/doc/howto/DEVELOPMENT.md @@ -58,10 +58,10 @@ After building, start the full stack to confirm everything works end to end: docker ps # 2. Start the full stack -make local-start +make local-submitqueue-start # 3. Check services are up (Gateway on :8081, Orchestrator on :8082) -make local-ps +make local-submitqueue-ps # 4. Test Gateway with grpcurl grpcurl -plaintext -d '{"message": "hello"}' localhost:8081 uber.submitqueue.gateway.SubmitQueueGateway/Ping @@ -104,9 +104,9 @@ go install go.uber.org/yarpc/encoding/protobuf/protoc-gen-yarpc-go@latest | `make e2e-test` | Run end-to-end tests | | `make proto` | Regenerate protobuf files | | `make gazelle` | Update BUILD.bazel files | -| `make local-start` | Start full stack (Gateway + Orchestrator + MySQL) | -| `make local-ps` | Show running containers and ports | -| `make local-logs` | View logs from all services | +| `make local-submitqueue-start` | Start full stack (Gateway + Orchestrator + MySQL) | +| `make local-submitqueue-ps` | Show running containers and ports | +| `make local-submitqueue-logs` | View logs from all services | | `make local-stop` | Stop all services | | `make clean` | Clean generated files and binaries | | `make help` | Show all available targets with descriptions | @@ -121,10 +121,10 @@ bazel test //gateway/controller:controller_test bazel test //gateway/controller:controller_test --test_filter=TestLand # Run Gateway integration tests only -make integration-test-gateway +make integration-test-submitqueue-gateway # Run Orchestrator integration tests only -make integration-test-orchestrator +make integration-test-submitqueue-orchestrator # Run extension integration tests only make integration-test-extensions diff --git a/doc/howto/TESTING.md b/doc/howto/TESTING.md index 87de05130..1750ae95d 100644 --- a/doc/howto/TESTING.md +++ b/doc/howto/TESTING.md @@ -23,7 +23,7 @@ SubmitQueue uses **two separate databases** to demonstrate proper architectural ### 1. Application Database - **Purpose**: Business data (requests, counters, batches) -- **Schema**: `extension/storage/mysql/schema`, `extension/counter/mysql/schema` +- **Schema**: `submitqueue/extension/storage/mysql/schema`, `submitqueue/extension/counter/mysql/schema` - **Used by**: Gateway (stores requests), Orchestrator (reads/updates request state) - **Connection**: `MYSQL_DSN` @@ -52,8 +52,8 @@ SubmitQueue uses **two separate databases** to demonstrate proper architectural make test # Integration tests (Docker required) -make integration-test-gateway # Gateway in isolation -make integration-test-orchestrator # Orchestrator in isolation +make integration-test-submitqueue-gateway # Gateway in isolation +make integration-test-submitqueue-orchestrator # Orchestrator in isolation make integration-test-extensions # All extension tests make integration-test # All integration tests @@ -73,13 +73,13 @@ make build-all-linux # Build Linux binaries for Docker - Speed: Fast (< 1s typically) **2. Integration Tests** - Service in isolation with real dependencies -- Location: `test/integration/{service}/` +- Location: `test/integration/submitqueue/{service}/` - Run: `make integration-test-{service}` - Containers: MySQL + one service - Tests one service isolated from others **3. E2E Tests** - Complete workflows across all services -- Location: `test/e2e/` +- Location: `test/e2e/submitqueue/` - Run: `make e2e-test` - Containers: MySQL + all services - Tests cross-service communication @@ -97,7 +97,7 @@ Tests use **docker-compose** via `ComposeStack` to spin up containers automatica ## Container Naming -Test containers use **meaningful, context-rich names** for easy debugging and correlation. +Test containers use **meaningful, context-rich, domain-qualified names** for easy debugging and correlation — and so suites from different domains never collide when run in parallel. ### Naming Format @@ -112,59 +112,41 @@ Project name format: sq-test-{context}-{shortid} │ │ │ │ │ └─ 6-char hex timestamp (unique per test run) -│ └─────────── Test context (ext-counter, gateway, e2e, etc.) +│ └─────────── Test context (domain-qualified — see convention) └─────────────────── Namespace prefix ``` -### Real Examples +### Context naming convention -**Extension Test - Counter:** -```bash -Container: sq-test-ext-counter-2ce1d0-mysql-1 - │ │ │ │ │ - │ │ │ │ └─ Instance number - │ │ │ └─ Service from docker-compose.yml - │ │ └─ Short unique ID - │ └─ Test context - └─ Namespace prefix - -# From: -NewComposeStack(t, log, ctx, "docker-compose.yml", "ext-counter") -``` +The `{context}` passed to `NewComposeStack` is **domain-qualified** so that the same kind of suite in different domains (SubmitQueue and Stovepipe both have a gateway and an orchestrator) yields distinct, self-describing names: -**Service Test - Gateway (Multiple Containers):** -```bash -# All share same project prefix, different services: -sq-test-gateway-abc123-mysql-app-1 -sq-test-gateway-abc123-mysql-queue-1 -sq-test-gateway-abc123-gateway-service-1 -└──────────┬───────────┘ - Same project (same test run) - -# From: -NewComposeStack(t, log, ctx, composeFile, "gateway") ``` - -**E2E Test - Full Stack (4 Containers):** -```bash -sq-test-e2e-def456-mysql-app-1 -sq-test-e2e-def456-mysql-queue-1 -sq-test-e2e-def456-gateway-service-1 -sq-test-e2e-def456-orchestrator-service-1 -└────┬─────┘ - All same project +{category}-{domain}-{name} ``` -### Container Name Reference +- `{category}` — `svc` (service), `ext` (extension), `core` (domain-internal infra), or `e2e` +- `{domain}` — `submitqueue`, `stovepipe`, … — **omit for shared/cross-domain code** +- `{name}` — the specific service/extension (e.g. `gateway`, `storage-mysql`) + +Shared (cross-domain) suites carry no domain segment — e.g. the shared queue extension uses `ext-queue-sql`. + +### Context reference + +| Suite | Context | Example container | +|-------|---------|-------------------| +| SubmitQueue gateway | `svc-submitqueue-gateway` | `sq-test-svc-submitqueue-gateway-abc123-gateway-service-1` | +| SubmitQueue orchestrator | `svc-submitqueue-orchestrator` | `sq-test-svc-submitqueue-orchestrator-xyz789-orchestrator-service-1` | +| Stovepipe gateway | `svc-stovepipe-gateway` | `sq-test-svc-stovepipe-gateway-abc123-gateway-service-1` | +| SubmitQueue storage extension | `ext-submitqueue-storage-mysql` | `sq-test-ext-submitqueue-storage-mysql-2ce1d0-mysql-1` | +| SubmitQueue counter extension | `ext-submitqueue-counter-mysql` | `sq-test-ext-submitqueue-counter-mysql-…-mysql-1` | +| SubmitQueue changestore extension | `ext-submitqueue-changestore-mysql` | `sq-test-ext-submitqueue-changestore-mysql-…-mysql-1` | +| Shared queue extension | `ext-queue-sql` | `sq-test-ext-queue-sql-a1b2c3-mysql-1` | +| SubmitQueue consumer (core) | `core-submitqueue-consumer` | `sq-test-core-submitqueue-consumer-…-mysql-1` | +| SubmitQueue e2e (full stack) | `e2e-submitqueue` | `sq-test-e2e-submitqueue-def456-gateway-service-1` | + +### Parallel execution -| Test Type | Context | Service Names | Example Container | -|-----------|---------|---------------|-------------------| -| Counter extension | `ext-counter` | `mysql` | `sq-test-ext-counter-2ce1d0-mysql-1` | -| Storage extension | `ext-storage` | `mysql` | `sq-test-ext-storage-ecff68-mysql-1` | -| Queue extension | `ext-queue` | `mysql` | `sq-test-ext-queue-a1b2c3-mysql-1` | -| Gateway service | `gateway` | `mysql-app`, `mysql-queue`, `gateway-service` | `sq-test-gateway-abc123-gateway-service-1` | -| Orchestrator service | `orchestrator` | `mysql-app`, `mysql-queue`, `orchestrator-service` | `sq-test-orchestrator-xyz789-orchestrator-service-1` | -| E2E full stack | `e2e` | `mysql-app`, `mysql-queue`, `gateway-service`, `orchestrator-service` | `sq-test-e2e-def456-gateway-service-1` | +Every suite gets a unique project name (`{context}-{shortid}`) and every compose service publishes **ephemeral host ports** (`- "3306"`, `- "8080"`), so suites are fully isolated and run **in parallel**. `make integration-test` runs all suites concurrently via `--test_output=errors` (`--test_output=streamed` would force bazel to serialize them). The domain-qualified context is what keeps container names unambiguous when many run at once. ### Debugging with Container Names @@ -192,13 +174,13 @@ docker exec -it sq-test-ext-counter-2ce1d0-mysql-1 \ ```bash # Start all services (Gateway + Orchestrator + 2 MySQL DBs) -make local-start +make local-submitqueue-start # See running containers and endpoints -make local-ps +make local-submitqueue-ps # View logs -make local-logs +make local-submitqueue-logs # Stop all services make local-stop @@ -209,9 +191,9 @@ make local-stop **Gateway Only:** ```bash # Start Gateway in isolation (Gateway + 2 MySQL DBs) -make local-gateway-start +make local-submitqueue-gateway-start -# Test Ping API (port shown by make local-ps) +# Test Ping API (port shown by make local-submitqueue-ps) grpcurl -plaintext -d '{"message": "hello"}' localhost: submitqueue.SubmitQueueGateway/Ping # Test Land API @@ -222,39 +204,39 @@ grpcurl -plaintext -d '{ }' localhost: submitqueue.SubmitQueueGateway/Land # Stop -make local-gateway-stop +make local-submitqueue-gateway-stop ``` **Orchestrator Only:** ```bash # Start Orchestrator in isolation (Orchestrator + 2 MySQL DBs) -make local-orchestrator-start +make local-submitqueue-orchestrator-start -# Test Ping API (port shown by make local-ps) +# Test Ping API (port shown by make local-submitqueue-ps) grpcurl -plaintext -d '{"message": "hello"}' localhost: submitqueue.SubmitQueueOrchestrator/Ping # Stop -make local-orchestrator-stop +make local-submitqueue-orchestrator-stop ``` -**Note:** All ports are ephemeral (randomly assigned). Use `make local-ps` to see the actual port mappings. +**Note:** All ports are ephemeral (randomly assigned). Use `make local-submitqueue-ps` to see the actual port mappings. ### After Code Changes ```bash # Rebuild and restart all services -make local-restart +make local-submitqueue-restart # Or stop and start fresh make local-stop -make local-start +make local-submitqueue-start ``` ### Inspecting the Databases ```bash -# Find the port (shown by make local-ps) -make local-ps +# Find the port (shown by make local-submitqueue-ps) +make local-submitqueue-ps # Connect to application DB mysql -h127.0.0.1 -P -uroot -proot submitqueue @@ -270,7 +252,7 @@ mysql -h127.0.0.1 -P -uroot -proot submitqueue brew install grpcurl # macOS # OR: go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest -# List services (use port from make local-ps) +# List services (use port from make local-submitqueue-ps) grpcurl -plaintext localhost: list # Describe a service @@ -292,16 +274,16 @@ grpcurl -plaintext -d '{ | Command | Description | |---------|-------------| -| `make local-start` | Start all services (full stack) | -| `make local-gateway-start` | Start Gateway in isolation | -| `make local-orchestrator-start` | Start Orchestrator in isolation | -| `make local-ps` | Show running containers and ports | -| `make local-logs` | Follow logs from all services | -| `make local-restart` | Rebuild and restart all services | +| `make local-submitqueue-start` | Start all services (full stack) | +| `make local-submitqueue-gateway-start` | Start Gateway in isolation | +| `make local-submitqueue-orchestrator-start` | Start Orchestrator in isolation | +| `make local-submitqueue-ps` | Show running containers and ports | +| `make local-submitqueue-logs` | Follow logs from all services | +| `make local-submitqueue-restart` | Rebuild and restart all services | | `make local-stop` | Stop all services (keep data) | -| `make local-gateway-stop` | Stop Gateway service | -| `make local-orchestrator-stop` | Stop Orchestrator service | -| `make local-clean` | Stop and remove all services, volumes, and images | +| `make local-submitqueue-gateway-stop` | Stop Gateway service | +| `make local-submitqueue-orchestrator-stop` | Stop Orchestrator service | +| `make local-submitqueue-clean` | Stop and remove all services, volumes, and images | --- @@ -317,11 +299,11 @@ docker ps # Should not error ### Services Not Starting ```bash # Check logs -make local-logs +make local-submitqueue-logs # Rebuild from scratch -make local-clean -make local-start +make local-submitqueue-clean +make local-submitqueue-start ``` ### Port Already in Use @@ -335,11 +317,11 @@ docker rm -f ### Database Schema Not Applied ```bash # Re-apply schemas manually -make local-init-schemas +make local-init-submitqueue-schemas # Or recreate everything -make local-clean -make local-start +make local-submitqueue-clean +make local-submitqueue-start ``` ### Tests Timing Out @@ -381,7 +363,7 @@ docker network ls | grep sq-test | awk '{print $1}' | xargs docker network rm ### Adding Integration Tests -1. Add test to `test/integration/{service}/suite_test.go` +1. Add test to `test/integration/submitqueue/{service}/suite_test.go` 2. Use suite's resources (`s.client`, `s.db`) 3. Run: `make integration-test-{service}` @@ -396,7 +378,7 @@ assert.Equal(s.T(), "expected", resp.Value) ### Adding E2E Tests -1. Add test to `test/e2e/suite_test.go` +1. Add test to `test/e2e/submitqueue/suite_test.go` 2. Use all service clients 3. Use `require.Eventually()` for async operations 4. Run: `make e2e-test` @@ -406,6 +388,6 @@ assert.Equal(s.T(), "expected", resp.Value) ## See Also - [CLAUDE.md](../../CLAUDE.md) - Development guidelines and project structure -- [example/server/docker-compose.yml](../../example/server/docker-compose.yml) - Full stack service definitions -- [example/server/gateway/docker-compose.yml](../../example/server/gateway/docker-compose.yml) - Gateway isolation -- [example/server/orchestrator/docker-compose.yml](../../example/server/orchestrator/docker-compose.yml) - Orchestrator isolation +- [example/submitqueue/docker-compose.yml](../../example/submitqueue/docker-compose.yml) - Full stack service definitions +- [example/submitqueue/gateway/server/docker-compose.yml](../../example/submitqueue/gateway/server/docker-compose.yml) - Gateway isolation +- [example/submitqueue/orchestrator/server/docker-compose.yml](../../example/submitqueue/orchestrator/server/docker-compose.yml) - Orchestrator isolation diff --git a/doc/rfc/index.md b/doc/rfc/index.md index 1cbbbb550..1305a9097 100644 --- a/doc/rfc/index.md +++ b/doc/rfc/index.md @@ -1,9 +1,12 @@ # RFCs (Request for Comments) -Design documents and technical proposals for SubmitQueue. +Design documents and technical proposals, grouped by scope. Shared/cross-cutting RFCs live at this level; service-specific RFCs live under a per-service subdirectory (e.g. `submitqueue/`). -## Index +## Shared -- [SQL-Based Distributed Queue](sql-queue-rfc.md) - MySQL-based distributed message queue with partition leasing and at-least-once delivery -- [Orchestrator Workflow](workflow.md) - Queue-driven controller pipeline from gateway entry through batching, scoring, build, merge, and conclude -- [Build Runner](build-runner.md) - Vendor-agnostic BuildRunner interface, provider-neutral BuildStatus lifecycle, and how the orchestrator wires it into the build stage +- [SQL-Based Distributed Queue](sql-queue-rfc.md) - MySQL-based distributed message queue with partition leasing and at-least-once delivery (used by SubmitQueue, Stovepipe, and other repo-local services) + +## SubmitQueue + +- [Orchestrator Workflow](submitqueue/workflow.md) - Queue-driven controller pipeline from gateway entry through batching, scoring, build, merge, and conclude +- [Build Runner](submitqueue/build-runner.md) - Vendor-agnostic BuildRunner interface, provider-neutral BuildStatus lifecycle, and how the orchestrator wires it into the build stage diff --git a/doc/rfc/build-runner.md b/doc/rfc/submitqueue/build-runner.md similarity index 100% rename from doc/rfc/build-runner.md rename to doc/rfc/submitqueue/build-runner.md diff --git a/doc/rfc/workflow.md b/doc/rfc/submitqueue/workflow.md similarity index 97% rename from doc/rfc/workflow.md rename to doc/rfc/submitqueue/workflow.md index 356a7ae44..a3e10df08 100644 --- a/doc/rfc/workflow.md +++ b/doc/rfc/submitqueue/workflow.md @@ -2,7 +2,7 @@ The orchestrator processes land requests through a queue-driven pipeline of small, single-purpose controllers. The gateway accepts a request over RPC and hands it off asynchronously; from there each controller consumes one topic, advances the request or batch, and publishes to the next topic. Most hops carry only an ID — the controller fetches the entity from storage — while a few entry points (`start`, `buildsignal`, `log`) carry the full payload because there is no row to fetch yet. -The pipeline has two cycles: `speculate → build → buildsignal → speculate` (CI feedback loop) and `merge → speculate` (advance the next batch). `conclude` is the only stage that transitions a request to a terminal state; `log` is an append-only sink that any controller can publish to via `core/request.PublishLog`. +The pipeline has two cycles: `speculate → build → buildsignal → speculate` (CI feedback loop) and `merge → speculate` (advance the next batch). `conclude` is the only stage that transitions a request to a terminal state; `log` is an append-only sink that any controller can publish to via `submitqueue/core/request.PublishLog`. ## Diagram @@ -62,7 +62,7 @@ The pipeline has two cycles: `speculate → build → buildsignal → speculate` │ │ │ → request state │ │ │ │ └──────────────────┘ │ │ │ │ - └─── any controller via core/request.PublishLog ──────┘ + └─── any controller via submitqueue/core/request.PublishLog ──────┘ ``` ## Per-controller summary diff --git a/entity/BUILD.bazel b/entity/BUILD.bazel index 6925a16a6..9f06cd038 100644 --- a/entity/BUILD.bazel +++ b/entity/BUILD.bazel @@ -1,37 +1,8 @@ -load("@rules_go//go:def.bzl", "go_library", "go_test") +load("@rules_go//go:def.bzl", "go_library") go_library( name = "entity", - srcs = [ - "batch.go", - "batch_dependent.go", - "build.go", - "cancel_request.go", - "change_provider.go", - "change_record.go", - "land_request.go", - "queue_config.go", - "request.go", - "request_log.go", - "speculation_tree.go", - ], + srcs = ["entity.go"], importpath = "github.com/uber/submitqueue/entity", visibility = ["//visibility:public"], ) - -go_test( - name = "entity_test", - srcs = [ - "batch_test.go", - "build_test.go", - "cancel_request_test.go", - "land_request_test.go", - "request_log_test.go", - "request_test.go", - ], - embed = [":entity"], - deps = [ - "@com_github_stretchr_testify//assert", - "@com_github_stretchr_testify//require", - ], -) diff --git a/entity/entity.go b/entity/entity.go new file mode 100644 index 000000000..726654b59 --- /dev/null +++ b/entity/entity.go @@ -0,0 +1,18 @@ +// Copyright (c) 2025 Uber Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package entity holds domain entities shared across SubmitQueue, Stovepipe, +// and other repo-local services. Service-specific entities live under each +// service's own entity package (e.g. submitqueue/entity, stovepipe/entity). +package entity diff --git a/example/README.md b/example/README.md index b1507bc86..ca345e460 100644 --- a/example/README.md +++ b/example/README.md @@ -15,19 +15,20 @@ Services require MySQL (app database + queue database). Docker Compose handles t ``` example/ -├── server/ +├── submitqueue/ │ ├── docker-compose.yml # Full stack (Gateway + Orchestrator + 2x MySQL) │ ├── gateway/ -│ │ ├── main.go # Gateway server entry point -│ │ ├── Dockerfile -│ │ └── docker-compose.yml # Gateway-only stack +│ │ ├── server/ +│ │ │ ├── main.go # Gateway server entry point +│ │ │ ├── Dockerfile +│ │ │ └── docker-compose.yml # Gateway-only stack +│ │ └── client/main.go # Gateway ping client │ └── orchestrator/ -│ ├── main.go # Orchestrator server entry point -│ ├── Dockerfile -│ └── docker-compose.yml # Orchestrator-only stack -├── client/ -│ ├── gateway/main.go # Gateway ping client -│ └── orchestrator/main.go # Orchestrator ping client +│ ├── server/ +│ │ ├── main.go # Orchestrator server entry point +│ │ ├── Dockerfile +│ │ └── docker-compose.yml # Orchestrator-only stack +│ └── client/main.go # Orchestrator ping client └── stovepipe/ ├── docker-compose.yml # Full stack (Stovepipe Gateway + Orchestrator + 2x MySQL) ├── gateway/ @@ -51,9 +52,9 @@ example/ ```bash # Start full SubmitQueue stack (Gateway + Orchestrator + MySQL) -make local-start -make local-gateway-start -make local-orchestrator-start +make local-submitqueue-start +make local-submitqueue-gateway-start +make local-submitqueue-orchestrator-start # Start full Stovepipe stack (Gateway + Orchestrator + MySQL) make local-stovepipe-start @@ -61,27 +62,27 @@ make local-stovepipe-gateway-start make local-stovepipe-orchestrator-start # View logs and status -make local-logs -make local-ps +make local-submitqueue-logs +make local-submitqueue-ps # Stop (SubmitQueue + Stovepipe default projects) make local-stop ``` -For Docker, `make build-stovepipe-gateway-linux` copies a Linux binary to `.docker-bin/stovepipe-gateway` so it does not overwrite SubmitQueue’s `.docker-bin/gateway`. Stovepipe `make local-stovepipe-gateway-start` applies **only the queue schema** on `mysql-queue` (`make local-init-stovepipe-queue-schema`); SubmitQueue storage/counter schemas on `mysql-app` are skipped until Stovepipe has its own app schema. Compose service keys are **`gateway-service`** and **`orchestrator-service`** (same as `example/server`), so with default project **`stovepipe`** you should see **`stovepipe-gateway-service-1`** and **`stovepipe-orchestrator-service-1`** — not `stovepipe-stovepipe-*` (that pattern was from older service names; run **`make local-stop`** to run `docker compose down --remove-orphans` and drop orphans). `make local-stop` also stops the SubmitQueue stack. SubmitQueue examples use project **`submitqueue`** by default (`make SUBMITQUEUE_LOCAL_PROJECT=myname ...`). Stovepipe containers are named like `stovepipe-mysql-app-1`, not `submitqueue-*`. +For Docker, `make build-stovepipe-gateway-linux` copies a Linux binary to `.docker-bin/stovepipe-gateway` so it does not overwrite SubmitQueue’s `.docker-bin/gateway`. Stovepipe `make local-stovepipe-gateway-start` applies **only the queue schema** on `mysql-queue` (`make local-init-stovepipe-queue-schema`); SubmitQueue storage/counter schemas on `mysql-app` are skipped until Stovepipe has its own app schema. Compose service keys are **`gateway-service`** and **`orchestrator-service`** (same as `example/submitqueue`), so with default project **`stovepipe`** you should see **`stovepipe-gateway-service-1`** and **`stovepipe-orchestrator-service-1`** — not `stovepipe-stovepipe-*` (that pattern was from older service names; run **`make local-stop`** to run `docker compose down --remove-orphans` and drop orphans). `make local-stop` also stops the SubmitQueue stack. SubmitQueue examples use project **`submitqueue`** by default (`make SUBMITQUEUE_LOCAL_PROJECT=myname ...`). Stovepipe containers are named like `stovepipe-mysql-app-1`, not `submitqueue-*`. ### Bazel ```bash # Build servers -bazel build //example/server/gateway:gateway -bazel build //example/server/orchestrator:orchestrator +bazel build //example/submitqueue/gateway/server:gateway +bazel build //example/submitqueue/orchestrator/server:orchestrator bazel build //example/stovepipe/gateway/server:gateway bazel build //example/stovepipe/orchestrator/server:orchestrator # Build clients -bazel build //example/client/gateway:gateway -bazel build //example/client/orchestrator:orchestrator +bazel build //example/submitqueue/gateway/client:gateway +bazel build //example/submitqueue/orchestrator/client:orchestrator bazel build //example/stovepipe/gateway/client:gateway bazel build //example/stovepipe/orchestrator/client:orchestrator ``` @@ -89,8 +90,8 @@ bazel build //example/stovepipe/orchestrator/client:orchestrator ### Go ```bash -go run example/server/gateway/main.go -go run example/server/orchestrator/main.go +go run example/submitqueue/gateway/server/main.go +go run example/submitqueue/orchestrator/server/main.go go run example/stovepipe/gateway/server/main.go go run example/stovepipe/orchestrator/server/main.go ``` @@ -99,8 +100,8 @@ go run example/stovepipe/orchestrator/server/main.go ```bash # Go clients -go run example/client/gateway/main.go -addr localhost:8081 -message "hello" -go run example/client/orchestrator/main.go -addr localhost:8082 -message "hello" +go run example/submitqueue/gateway/client/main.go -addr localhost:8081 -message "hello" +go run example/submitqueue/orchestrator/client/main.go -addr localhost:8082 -message "hello" go run example/stovepipe/gateway/client/main.go -addr localhost:8083 -message "hello" go run example/stovepipe/orchestrator/client/main.go -addr localhost:8084 -message "hello" ``` @@ -144,7 +145,7 @@ grpcurl -plaintext localhost:8084 describe uber.submitqueue.stovepipe.orchestrat ### Gateway Service **Service**: `uber.submitqueue.gateway.SubmitQueueGateway` -**Proto**: `gateway/proto/gateway.proto` +**Proto**: `submitqueue/gateway/proto/gateway.proto` | Method | Description | |--------|-------------| @@ -154,7 +155,7 @@ grpcurl -plaintext localhost:8084 describe uber.submitqueue.stovepipe.orchestrat ### Orchestrator Service **Service**: `uber.submitqueue.orchestrator.SubmitQueueOrchestrator` -**Proto**: `orchestrator/proto/orchestrator.proto` +**Proto**: `submitqueue/orchestrator/proto/orchestrator.proto` | Method | Description | |--------|-------------| diff --git a/example/server/orchestrator/BUILD.bazel b/example/server/orchestrator/BUILD.bazel deleted file mode 100644 index 144f8ad12..000000000 --- a/example/server/orchestrator/BUILD.bazel +++ /dev/null @@ -1,63 +0,0 @@ -load("@rules_go//go:def.bzl", "go_binary", "go_library") - -exports_files( - ["docker-compose.yml"], - visibility = ["//visibility:public"], -) - -go_library( - name = "orchestrator_lib", - srcs = ["main.go"], - importpath = "github.com/uber/submitqueue/example/server/orchestrator", - visibility = ["//visibility:private"], - deps = [ - "//core/consumer", - "//core/errs/generic", - "//core/errs/mysql", - "//core/httpclient", - "//entity", - "//extension/buildrunner", - "//extension/buildrunner/noop", - "//extension/changeprovider", - "//extension/changeprovider/github", - "//extension/changestore", - "//extension/changestore/mysql", - "//extension/conflict/all", - "//extension/counter", - "//extension/counter/mysql", - "//extension/mergechecker", - "//extension/mergechecker/github", - "//extension/pusher", - "//extension/pusher/git", - "//extension/queue", - "//extension/queue/mysql", - "//extension/scorer/heuristic", - "//extension/storage", - "//extension/storage/mysql", - "//orchestrator/controller", - "//orchestrator/controller/batch", - "//orchestrator/controller/build", - "//orchestrator/controller/buildsignal", - "//orchestrator/controller/cancel", - "//orchestrator/controller/conclude", - "//orchestrator/controller/log", - "//orchestrator/controller/merge", - "//orchestrator/controller/score", - "//orchestrator/controller/speculate", - "//orchestrator/controller/start", - "//orchestrator/controller/validate", - "//orchestrator/protopb", - "@com_github_go_sql_driver_mysql//:mysql", - "@com_github_uber_go_tally_v4//:tally", - "@org_golang_google_grpc//:grpc", - "@org_golang_google_grpc//reflection", - "@org_golang_x_oauth2//:oauth2", - "@org_uber_go_zap//:zap", - ], -) - -go_binary( - name = "orchestrator", - embed = [":orchestrator_lib"], - visibility = ["//visibility:public"], -) diff --git a/example/stovepipe/gateway/server/Dockerfile b/example/stovepipe/gateway/server/Dockerfile index 310fbb55c..b00717a66 100644 --- a/example/stovepipe/gateway/server/Dockerfile +++ b/example/stovepipe/gateway/server/Dockerfile @@ -7,8 +7,8 @@ WORKDIR /root/ # Built via: make build-stovepipe-gateway-linux COPY .docker-bin/stovepipe-gateway ./gateway -# Reuse SubmitQueue sample queue YAML; compose sets QUEUE_CONFIG_PATH for parity with main gateway image. -COPY example/server/gateway/queues.yaml ./queues.yaml +# Stovepipe's own sample queue YAML; compose sets QUEUE_CONFIG_PATH to point at it. +COPY example/stovepipe/gateway/server/queues.yaml ./queues.yaml EXPOSE 8080 diff --git a/example/stovepipe/gateway/server/docker-compose.yml b/example/stovepipe/gateway/server/docker-compose.yml index a1402c903..59660f17b 100644 --- a/example/stovepipe/gateway/server/docker-compose.yml +++ b/example/stovepipe/gateway/server/docker-compose.yml @@ -1,6 +1,6 @@ # Docker Compose for Stovepipe gateway manual testing # -# Mirrors example/server/gateway/docker-compose.yml: same MySQL pair, healthchecks, +# Mirrors example/submitqueue/gateway/server/docker-compose.yml: same MySQL pair, healthchecks, # env wiring, and startup ordering. The Stovepipe gateway binary is Ping-only today # and does not open MySQL yet; variables are set so future work matches SubmitQueue. # diff --git a/example/stovepipe/gateway/server/queues.yaml b/example/stovepipe/gateway/server/queues.yaml new file mode 100644 index 000000000..09925a797 --- /dev/null +++ b/example/stovepipe/gateway/server/queues.yaml @@ -0,0 +1,8 @@ +# Stovepipe queue configuration placeholder. +# +# The queue-config schema (build_runner / change_provider / merge_checker / +# land_provider) is SubmitQueue-specific — those fields select SubmitQueue +# extension implementations that Stovepipe does not yet define. The Stovepipe +# gateway image ships this file only so QUEUE_CONFIG_PATH resolves; populate it +# once Stovepipe defines its own queue-config extensions. +queues: [] diff --git a/example/server/BUILD.bazel b/example/submitqueue/BUILD.bazel similarity index 100% rename from example/server/BUILD.bazel rename to example/submitqueue/BUILD.bazel diff --git a/example/server/README.md b/example/submitqueue/README.md similarity index 90% rename from example/server/README.md rename to example/submitqueue/README.md index 8522a3129..a395790e1 100644 --- a/example/server/README.md +++ b/example/submitqueue/README.md @@ -7,9 +7,9 @@ Reference implementations of the Gateway and Orchestrator services, wired with M ### Docker Compose (recommended) ```bash -make local-start # builds binaries and starts all services -make local-ps # verify services are running -make local-logs # view logs +make local-submitqueue-start # builds binaries and starts all services +make local-submitqueue-ps # verify services are running +make local-submitqueue-logs # view logs ``` ### Standalone @@ -30,10 +30,10 @@ export MYSQL_DSN='root:root@tcp(127.0.0.1:3306)/submitqueue?parseTime=true' export QUEUE_MYSQL_DSN='root:root@tcp(127.0.0.1:3307)/submitqueue?parseTime=true' # Start gateway (default :8081) -go run ./example/server/gateway +go run ./example/submitqueue/gateway/server # Start orchestrator (default :8082) -go run ./example/server/orchestrator +go run ./example/submitqueue/orchestrator/server ``` ## Stopping diff --git a/example/server/docker-compose.yml b/example/submitqueue/docker-compose.yml similarity index 92% rename from example/server/docker-compose.yml rename to example/submitqueue/docker-compose.yml index f93bd6a6a..dc49e86f6 100644 --- a/example/server/docker-compose.yml +++ b/example/submitqueue/docker-compose.yml @@ -3,7 +3,7 @@ # IMPORTANT: Before running docker-compose, build the Linux binaries: # make build-gateway-linux build-orchestrator-linux # OR -# bazel build --platforms=@rules_go//go/toolchain:linux_amd64 //example/server/gateway //example/server/orchestrator +# bazel build --platforms=@rules_go//go/toolchain:linux_amd64 //example/submitqueue/gateway/server //example/submitqueue/orchestrator/server # # Quick start: # make e2e-test @@ -44,7 +44,7 @@ services: gateway-service: build: context: ${REPO_ROOT} - dockerfile: example/server/gateway/Dockerfile + dockerfile: example/submitqueue/gateway/server/Dockerfile ports: - "8080" # Random ephemeral port to avoid conflicts environment: @@ -64,7 +64,7 @@ services: orchestrator-service: build: context: ${REPO_ROOT} - dockerfile: example/server/orchestrator/Dockerfile + dockerfile: example/submitqueue/orchestrator/server/Dockerfile ports: - "8080" # Random ephemeral port to avoid conflicts environment: diff --git a/example/client/gateway/BUILD.bazel b/example/submitqueue/gateway/client/BUILD.bazel similarity index 75% rename from example/client/gateway/BUILD.bazel rename to example/submitqueue/gateway/client/BUILD.bazel index 9e5305e71..8830696f4 100644 --- a/example/client/gateway/BUILD.bazel +++ b/example/submitqueue/gateway/client/BUILD.bazel @@ -3,10 +3,10 @@ load("@rules_go//go:def.bzl", "go_binary", "go_library") go_library( name = "gateway_lib", srcs = ["main.go"], - importpath = "github.com/uber/submitqueue/example/client/gateway", + importpath = "github.com/uber/submitqueue/example/submitqueue/gateway/client", visibility = ["//visibility:private"], deps = [ - "//gateway/protopb", + "//submitqueue/gateway/protopb", "@org_golang_google_grpc//:grpc", "@org_golang_google_grpc//credentials/insecure", ], diff --git a/example/client/gateway/main.go b/example/submitqueue/gateway/client/main.go similarity index 97% rename from example/client/gateway/main.go rename to example/submitqueue/gateway/client/main.go index c7d1ee20f..11006fd91 100644 --- a/example/client/gateway/main.go +++ b/example/submitqueue/gateway/client/main.go @@ -21,7 +21,7 @@ import ( "os" "time" - pb "github.com/uber/submitqueue/gateway/protopb" + pb "github.com/uber/submitqueue/submitqueue/gateway/protopb" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" ) diff --git a/example/server/gateway/BUILD.bazel b/example/submitqueue/gateway/server/BUILD.bazel similarity index 66% rename from example/server/gateway/BUILD.bazel rename to example/submitqueue/gateway/server/BUILD.bazel index c26007edd..b385f2c79 100644 --- a/example/server/gateway/BUILD.bazel +++ b/example/submitqueue/gateway/server/BUILD.bazel @@ -8,16 +8,16 @@ exports_files( go_library( name = "gateway_lib", srcs = ["main.go"], - importpath = "github.com/uber/submitqueue/example/server/gateway", + importpath = "github.com/uber/submitqueue/example/submitqueue/gateway/server", visibility = ["//visibility:private"], deps = [ - "//core/consumer", - "//extension/counter/mysql", "//extension/queue/mysql", - "//extension/queueconfig/yaml", - "//extension/storage/mysql", - "//gateway/controller", - "//gateway/protopb", + "//submitqueue/core/consumer", + "//submitqueue/extension/counter/mysql", + "//submitqueue/extension/queueconfig/yaml", + "//submitqueue/extension/storage/mysql", + "//submitqueue/gateway/controller", + "//submitqueue/gateway/protopb", "@com_github_go_sql_driver_mysql//:mysql", "@com_github_uber_go_tally_v4//:tally", "@org_golang_google_grpc//:grpc", diff --git a/example/server/gateway/Dockerfile b/example/submitqueue/gateway/server/Dockerfile similarity index 85% rename from example/server/gateway/Dockerfile rename to example/submitqueue/gateway/server/Dockerfile index eab468fd2..992bcab4a 100644 --- a/example/server/gateway/Dockerfile +++ b/example/submitqueue/gateway/server/Dockerfile @@ -9,7 +9,7 @@ COPY .docker-bin/gateway ./gateway # Sample queue configuration; the gateway reads it on startup via # QUEUE_CONFIG_PATH (set in docker-compose.yml). -COPY example/server/gateway/queues.yaml ./queues.yaml +COPY example/submitqueue/gateway/server/queues.yaml ./queues.yaml EXPOSE 8080 diff --git a/example/server/gateway/docker-compose.yml b/example/submitqueue/gateway/server/docker-compose.yml similarity index 95% rename from example/server/gateway/docker-compose.yml rename to example/submitqueue/gateway/server/docker-compose.yml index 3d55cdbbb..2b018f163 100644 --- a/example/server/gateway/docker-compose.yml +++ b/example/submitqueue/gateway/server/docker-compose.yml @@ -3,7 +3,7 @@ # IMPORTANT: Before running docker-compose, build the Linux binary: # make build-gateway-linux # OR -# bazel build --platforms=@rules_go//go/toolchain:linux_amd64 //example/server/gateway +# bazel build --platforms=@rules_go//go/toolchain:linux_amd64 //example/submitqueue/gateway/server # # Quick start: # make docker-gateway (builds binary + starts compose) @@ -44,7 +44,7 @@ services: gateway-service: build: context: ${REPO_ROOT} - dockerfile: example/server/gateway/Dockerfile + dockerfile: example/submitqueue/gateway/server/Dockerfile ports: - "8080" # Random ephemeral port to avoid conflicts environment: diff --git a/example/server/gateway/main.go b/example/submitqueue/gateway/server/main.go similarity index 95% rename from example/server/gateway/main.go rename to example/submitqueue/gateway/server/main.go index 3a4850da0..776260db0 100644 --- a/example/server/gateway/main.go +++ b/example/submitqueue/gateway/server/main.go @@ -28,13 +28,13 @@ import ( _ "github.com/go-sql-driver/mysql" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" - mysqlcounter "github.com/uber/submitqueue/extension/counter/mysql" queueMySQL "github.com/uber/submitqueue/extension/queue/mysql" - yamlqueueconfig "github.com/uber/submitqueue/extension/queueconfig/yaml" - mysqlstorage "github.com/uber/submitqueue/extension/storage/mysql" - "github.com/uber/submitqueue/gateway/controller" - pb "github.com/uber/submitqueue/gateway/protopb" + "github.com/uber/submitqueue/submitqueue/core/consumer" + mysqlcounter "github.com/uber/submitqueue/submitqueue/extension/counter/mysql" + yamlqueueconfig "github.com/uber/submitqueue/submitqueue/extension/queueconfig/yaml" + mysqlstorage "github.com/uber/submitqueue/submitqueue/extension/storage/mysql" + "github.com/uber/submitqueue/submitqueue/gateway/controller" + pb "github.com/uber/submitqueue/submitqueue/gateway/protopb" "go.uber.org/zap" "google.golang.org/grpc" "google.golang.org/grpc/codes" diff --git a/example/server/gateway/queues.yaml b/example/submitqueue/gateway/server/queues.yaml similarity index 100% rename from example/server/gateway/queues.yaml rename to example/submitqueue/gateway/server/queues.yaml diff --git a/example/client/orchestrator/BUILD.bazel b/example/submitqueue/orchestrator/client/BUILD.bazel similarity index 75% rename from example/client/orchestrator/BUILD.bazel rename to example/submitqueue/orchestrator/client/BUILD.bazel index 086177b67..739f41fdc 100644 --- a/example/client/orchestrator/BUILD.bazel +++ b/example/submitqueue/orchestrator/client/BUILD.bazel @@ -3,10 +3,10 @@ load("@rules_go//go:def.bzl", "go_binary", "go_library") go_library( name = "orchestrator_lib", srcs = ["main.go"], - importpath = "github.com/uber/submitqueue/example/client/orchestrator", + importpath = "github.com/uber/submitqueue/example/submitqueue/orchestrator/client", visibility = ["//visibility:private"], deps = [ - "//orchestrator/protopb", + "//submitqueue/orchestrator/protopb", "@org_golang_google_grpc//:grpc", "@org_golang_google_grpc//credentials/insecure", ], diff --git a/example/client/orchestrator/main.go b/example/submitqueue/orchestrator/client/main.go similarity index 96% rename from example/client/orchestrator/main.go rename to example/submitqueue/orchestrator/client/main.go index 691a7f4d9..83fc2fc68 100644 --- a/example/client/orchestrator/main.go +++ b/example/submitqueue/orchestrator/client/main.go @@ -21,7 +21,7 @@ import ( "os" "time" - pb "github.com/uber/submitqueue/orchestrator/protopb" + pb "github.com/uber/submitqueue/submitqueue/orchestrator/protopb" "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" ) diff --git a/example/submitqueue/orchestrator/server/BUILD.bazel b/example/submitqueue/orchestrator/server/BUILD.bazel new file mode 100644 index 000000000..e1e0892c6 --- /dev/null +++ b/example/submitqueue/orchestrator/server/BUILD.bazel @@ -0,0 +1,63 @@ +load("@rules_go//go:def.bzl", "go_binary", "go_library") + +exports_files( + ["docker-compose.yml"], + visibility = ["//visibility:public"], +) + +go_library( + name = "orchestrator_lib", + srcs = ["main.go"], + importpath = "github.com/uber/submitqueue/example/submitqueue/orchestrator/server", + visibility = ["//visibility:private"], + deps = [ + "//core/errs/generic", + "//core/errs/mysql", + "//core/httpclient", + "//extension/queue", + "//extension/queue/mysql", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/buildrunner", + "//submitqueue/extension/buildrunner/noop", + "//submitqueue/extension/changeprovider", + "//submitqueue/extension/changeprovider/github", + "//submitqueue/extension/changestore", + "//submitqueue/extension/changestore/mysql", + "//submitqueue/extension/conflict/all", + "//submitqueue/extension/counter", + "//submitqueue/extension/counter/mysql", + "//submitqueue/extension/mergechecker", + "//submitqueue/extension/mergechecker/github", + "//submitqueue/extension/pusher", + "//submitqueue/extension/pusher/git", + "//submitqueue/extension/scorer/heuristic", + "//submitqueue/extension/storage", + "//submitqueue/extension/storage/mysql", + "//submitqueue/orchestrator/controller", + "//submitqueue/orchestrator/controller/batch", + "//submitqueue/orchestrator/controller/build", + "//submitqueue/orchestrator/controller/buildsignal", + "//submitqueue/orchestrator/controller/cancel", + "//submitqueue/orchestrator/controller/conclude", + "//submitqueue/orchestrator/controller/log", + "//submitqueue/orchestrator/controller/merge", + "//submitqueue/orchestrator/controller/score", + "//submitqueue/orchestrator/controller/speculate", + "//submitqueue/orchestrator/controller/start", + "//submitqueue/orchestrator/controller/validate", + "//submitqueue/orchestrator/protopb", + "@com_github_go_sql_driver_mysql//:mysql", + "@com_github_uber_go_tally_v4//:tally", + "@org_golang_google_grpc//:grpc", + "@org_golang_google_grpc//reflection", + "@org_golang_x_oauth2//:oauth2", + "@org_uber_go_zap//:zap", + ], +) + +go_binary( + name = "orchestrator", + embed = [":orchestrator_lib"], + visibility = ["//visibility:public"], +) diff --git a/example/server/orchestrator/Dockerfile b/example/submitqueue/orchestrator/server/Dockerfile similarity index 100% rename from example/server/orchestrator/Dockerfile rename to example/submitqueue/orchestrator/server/Dockerfile diff --git a/example/server/orchestrator/docker-compose.yml b/example/submitqueue/orchestrator/server/docker-compose.yml similarity index 94% rename from example/server/orchestrator/docker-compose.yml rename to example/submitqueue/orchestrator/server/docker-compose.yml index 8707abfec..c7ebac0d2 100644 --- a/example/server/orchestrator/docker-compose.yml +++ b/example/submitqueue/orchestrator/server/docker-compose.yml @@ -3,7 +3,7 @@ # IMPORTANT: Before running docker-compose, build the Linux binary: # make build-orchestrator-linux # OR -# bazel build --platforms=@rules_go//go/toolchain:linux_amd64 //example/server/orchestrator +# bazel build --platforms=@rules_go//go/toolchain:linux_amd64 //example/submitqueue/orchestrator/server # # Quick start: # make docker-orchestrator (builds binary + starts compose) @@ -44,7 +44,7 @@ services: orchestrator-service: build: context: ${REPO_ROOT} - dockerfile: example/server/orchestrator/Dockerfile + dockerfile: example/submitqueue/orchestrator/server/Dockerfile ports: - "8080" # Random ephemeral port to avoid conflicts environment: diff --git a/example/server/orchestrator/main.go b/example/submitqueue/orchestrator/server/main.go similarity index 89% rename from example/server/orchestrator/main.go rename to example/submitqueue/orchestrator/server/main.go index 48c1fe2b9..391461778 100644 --- a/example/server/orchestrator/main.go +++ b/example/submitqueue/orchestrator/server/main.go @@ -30,42 +30,42 @@ import ( "golang.org/x/oauth2" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" genericerrs "github.com/uber/submitqueue/core/errs/generic" mysqlerrs "github.com/uber/submitqueue/core/errs/mysql" "github.com/uber/submitqueue/core/httpclient" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/buildrunner" - buildnoop "github.com/uber/submitqueue/extension/buildrunner/noop" - "github.com/uber/submitqueue/extension/changeprovider" - githubprovider "github.com/uber/submitqueue/extension/changeprovider/github" - "github.com/uber/submitqueue/extension/changestore" - mysqlchangestore "github.com/uber/submitqueue/extension/changestore/mysql" - "github.com/uber/submitqueue/extension/conflict/all" - "github.com/uber/submitqueue/extension/counter" - mysqlcounter "github.com/uber/submitqueue/extension/counter/mysql" - "github.com/uber/submitqueue/extension/mergechecker" - githubchecker "github.com/uber/submitqueue/extension/mergechecker/github" - "github.com/uber/submitqueue/extension/pusher" - gitpusher "github.com/uber/submitqueue/extension/pusher/git" extqueue "github.com/uber/submitqueue/extension/queue" queueMySQL "github.com/uber/submitqueue/extension/queue/mysql" - "github.com/uber/submitqueue/extension/scorer/heuristic" - "github.com/uber/submitqueue/extension/storage" - mysqlstorage "github.com/uber/submitqueue/extension/storage/mysql" - "github.com/uber/submitqueue/orchestrator/controller" - "github.com/uber/submitqueue/orchestrator/controller/batch" - "github.com/uber/submitqueue/orchestrator/controller/build" - "github.com/uber/submitqueue/orchestrator/controller/buildsignal" - "github.com/uber/submitqueue/orchestrator/controller/cancel" - "github.com/uber/submitqueue/orchestrator/controller/conclude" - logctrl "github.com/uber/submitqueue/orchestrator/controller/log" - "github.com/uber/submitqueue/orchestrator/controller/merge" - "github.com/uber/submitqueue/orchestrator/controller/score" - "github.com/uber/submitqueue/orchestrator/controller/speculate" - "github.com/uber/submitqueue/orchestrator/controller/start" - "github.com/uber/submitqueue/orchestrator/controller/validate" - pb "github.com/uber/submitqueue/orchestrator/protopb" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/buildrunner" + buildnoop "github.com/uber/submitqueue/submitqueue/extension/buildrunner/noop" + "github.com/uber/submitqueue/submitqueue/extension/changeprovider" + githubprovider "github.com/uber/submitqueue/submitqueue/extension/changeprovider/github" + "github.com/uber/submitqueue/submitqueue/extension/changestore" + mysqlchangestore "github.com/uber/submitqueue/submitqueue/extension/changestore/mysql" + "github.com/uber/submitqueue/submitqueue/extension/conflict/all" + "github.com/uber/submitqueue/submitqueue/extension/counter" + mysqlcounter "github.com/uber/submitqueue/submitqueue/extension/counter/mysql" + "github.com/uber/submitqueue/submitqueue/extension/mergechecker" + githubchecker "github.com/uber/submitqueue/submitqueue/extension/mergechecker/github" + "github.com/uber/submitqueue/submitqueue/extension/pusher" + gitpusher "github.com/uber/submitqueue/submitqueue/extension/pusher/git" + "github.com/uber/submitqueue/submitqueue/extension/scorer/heuristic" + "github.com/uber/submitqueue/submitqueue/extension/storage" + mysqlstorage "github.com/uber/submitqueue/submitqueue/extension/storage/mysql" + "github.com/uber/submitqueue/submitqueue/orchestrator/controller" + "github.com/uber/submitqueue/submitqueue/orchestrator/controller/batch" + "github.com/uber/submitqueue/submitqueue/orchestrator/controller/build" + "github.com/uber/submitqueue/submitqueue/orchestrator/controller/buildsignal" + "github.com/uber/submitqueue/submitqueue/orchestrator/controller/cancel" + "github.com/uber/submitqueue/submitqueue/orchestrator/controller/conclude" + logctrl "github.com/uber/submitqueue/submitqueue/orchestrator/controller/log" + "github.com/uber/submitqueue/submitqueue/orchestrator/controller/merge" + "github.com/uber/submitqueue/submitqueue/orchestrator/controller/score" + "github.com/uber/submitqueue/submitqueue/orchestrator/controller/speculate" + "github.com/uber/submitqueue/submitqueue/orchestrator/controller/start" + "github.com/uber/submitqueue/submitqueue/orchestrator/controller/validate" + pb "github.com/uber/submitqueue/submitqueue/orchestrator/protopb" "go.uber.org/zap" "google.golang.org/grpc" "google.golang.org/grpc/reflection" diff --git a/core/extension/BUILD.bazel b/extension/BUILD.bazel similarity index 70% rename from core/extension/BUILD.bazel rename to extension/BUILD.bazel index c10bde8dc..afdeafa2f 100644 --- a/core/extension/BUILD.bazel +++ b/extension/BUILD.bazel @@ -3,6 +3,6 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "extension", srcs = ["extension.go"], - importpath = "github.com/uber/submitqueue/core/extension", + importpath = "github.com/uber/submitqueue/extension", visibility = ["//visibility:public"], ) diff --git a/core/extension/extension.go b/extension/extension.go similarity index 85% rename from core/extension/extension.go rename to extension/extension.go index 30d381969..8b7d5ce35 100644 --- a/core/extension/extension.go +++ b/extension/extension.go @@ -13,5 +13,7 @@ // limitations under the License. // Package extension holds extension interfaces and implementations shared -// across SubmitQueue, Stovepipe, and other repo-local services. +// across SubmitQueue, Stovepipe, and other repo-local services. Service-specific +// extensions live under each service's own extension package (e.g. +// submitqueue/extension, stovepipe/extension). package extension diff --git a/extension/queue/mysql/README.md b/extension/queue/mysql/README.md index c9015ec33..a0cdcd1fc 100644 --- a/extension/queue/mysql/README.md +++ b/extension/queue/mysql/README.md @@ -2,7 +2,7 @@ MySQL-based distributed queue with partition leasing, delivery state tracking, and at-least-once delivery. -For design rationale, guarantees, and trade-offs, see the [RFC](../../doc/rfc/sql-queue-rfc.md). +For design rationale, guarantees, and trade-offs, see the [RFC](../../../doc/rfc/sql-queue-rfc.md). ## Quick Start @@ -114,7 +114,7 @@ extension/queue/mysql/ `queue_messages` has a `visible_after BIGINT UNSIGNED NOT NULL DEFAULT 0` column that supports `Publisher.PublishAfter`: subscribers' `FetchByOffset` skips rows where `visible_after > now`. Default 0 means immediately visible, so existing rows continue to behave as before — the column is back-compatible. -See `schema/` for full SQL definitions. See the [RFC](../../doc/rfc/sql-queue-rfc.md#database-schema) for field-level documentation. +See `schema/` for full SQL definitions. See the [RFC](../../../doc/rfc/sql-queue-rfc.md#database-schema) for field-level documentation. ### Store Architecture diff --git a/extension/queue/mysql/ctl/README.md b/extension/queue/mysql/ctl/README.md index 6f9b4efaf..1bc76ee13 100644 --- a/extension/queue/mysql/ctl/README.md +++ b/extension/queue/mysql/ctl/README.md @@ -7,8 +7,8 @@ Admin CLI for inspecting, managing, and troubleshooting the MySQL-backed message Start the local stack and find the MySQL queue port: ```bash -make local-start -make local-ps # note the MySQL Queue port +make local-submitqueue-start +make local-submitqueue-ps # note the MySQL Queue port ``` Set the DSN once for the session: diff --git a/stovepipe/core/BUILD.bazel b/stovepipe/core/BUILD.bazel new file mode 100644 index 000000000..163292f84 --- /dev/null +++ b/stovepipe/core/BUILD.bazel @@ -0,0 +1,8 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "core", + srcs = ["core.go"], + importpath = "github.com/uber/submitqueue/stovepipe/core", + visibility = ["//visibility:public"], +) diff --git a/stovepipe/core/core.go b/stovepipe/core/core.go new file mode 100644 index 000000000..a6b25d4a6 --- /dev/null +++ b/stovepipe/core/core.go @@ -0,0 +1,20 @@ +// Copyright (c) 2025 Uber Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package core groups infrastructure shared across Stovepipe's own services +// (gateway and orchestrator) — the Stovepipe-scoped analogue of the repo-level +// core/. Cross-domain infrastructure lives in the top-level core/; this package +// is for plumbing private to Stovepipe. Subpackages (e.g. core/consumer, +// core/request) are added here as shared needs emerge, mirroring submitqueue/core. +package core diff --git a/stovepipe/gateway/protopb/gateway.pb.go b/stovepipe/gateway/protopb/gateway.pb.go index 05769897b..7c875c83e 100644 --- a/stovepipe/gateway/protopb/gateway.pb.go +++ b/stovepipe/gateway/protopb/gateway.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v5.27.3 +// protoc v5.29.3 // source: gateway.proto package protopb diff --git a/stovepipe/gateway/protopb/gateway_grpc.pb.go b/stovepipe/gateway/protopb/gateway_grpc.pb.go index 60567b4a6..6600736cb 100644 --- a/stovepipe/gateway/protopb/gateway_grpc.pb.go +++ b/stovepipe/gateway/protopb/gateway_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v5.27.3 +// - protoc v5.29.3 // source: gateway.proto package protopb diff --git a/stovepipe/orchestrator/protopb/orchestrator.pb.go b/stovepipe/orchestrator/protopb/orchestrator.pb.go index 9ff45abf7..a740788cb 100644 --- a/stovepipe/orchestrator/protopb/orchestrator.pb.go +++ b/stovepipe/orchestrator/protopb/orchestrator.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v5.27.3 +// protoc v5.29.3 // source: orchestrator.proto package protopb diff --git a/stovepipe/orchestrator/protopb/orchestrator_grpc.pb.go b/stovepipe/orchestrator/protopb/orchestrator_grpc.pb.go index 786955197..af7aec995 100644 --- a/stovepipe/orchestrator/protopb/orchestrator_grpc.pb.go +++ b/stovepipe/orchestrator/protopb/orchestrator_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v5.27.3 +// - protoc v5.29.3 // source: orchestrator.proto package protopb diff --git a/submitqueue/README.md b/submitqueue/README.md new file mode 100644 index 000000000..6d8ec6080 --- /dev/null +++ b/submitqueue/README.md @@ -0,0 +1,11 @@ +# SubmitQueue + +SubmitQueue service layout: + +- `gateway/` — Gateway service: entry point for land requests (`Ping`, `Land`, `Cancel` RPCs). +- `orchestrator/` — Orchestrator service: coordinates the land pipeline (batch, score, build, merge, conclude, ...). +- `extension/` — SubmitQueue-specific extension implementations (storage, counter, changestore, mergechecker, pusher, scorer, conflict, queueconfig, buildrunner, ...). +- `entity/` — SubmitQueue-specific domain entities. +- `core/` — Infrastructure shared across SubmitQueue's own services (gateway and orchestrator): the queue `consumer` framework and the `request` lifecycle. The SubmitQueue-scoped analogue of the repo-level `core/`. + +Cross-domain building blocks live outside this directory: shared entities in `entity/`, shared extensions in `extension/`, and cross-domain infrastructure in the top-level `core/`. diff --git a/submitqueue/core/BUILD.bazel b/submitqueue/core/BUILD.bazel new file mode 100644 index 000000000..9c37906e6 --- /dev/null +++ b/submitqueue/core/BUILD.bazel @@ -0,0 +1,8 @@ +load("@rules_go//go:def.bzl", "go_library") + +go_library( + name = "core", + srcs = ["core.go"], + importpath = "github.com/uber/submitqueue/submitqueue/core", + visibility = ["//visibility:public"], +) diff --git a/core/consumer/BUILD.bazel b/submitqueue/core/consumer/BUILD.bazel similarity index 88% rename from core/consumer/BUILD.bazel rename to submitqueue/core/consumer/BUILD.bazel index b52d21d36..2bbfbbfab 100644 --- a/core/consumer/BUILD.bazel +++ b/submitqueue/core/consumer/BUILD.bazel @@ -7,7 +7,7 @@ go_library( "controller.go", "registry.go", ], - importpath = "github.com/uber/submitqueue/core/consumer", + importpath = "github.com/uber/submitqueue/submitqueue/core/consumer", visibility = ["//visibility:public"], deps = [ "//core/errs", @@ -27,11 +27,11 @@ go_test( ], deps = [ ":consumer", - "//core/consumer/mock", "//core/errs", "//entity/queue", "//extension/queue", "//extension/queue/mock", + "//submitqueue/core/consumer/mock", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/core/consumer/README.md b/submitqueue/core/consumer/README.md similarity index 100% rename from core/consumer/README.md rename to submitqueue/core/consumer/README.md diff --git a/core/consumer/consumer.go b/submitqueue/core/consumer/consumer.go similarity index 100% rename from core/consumer/consumer.go rename to submitqueue/core/consumer/consumer.go diff --git a/core/consumer/consumer_test.go b/submitqueue/core/consumer/consumer_test.go similarity index 99% rename from core/consumer/consumer_test.go rename to submitqueue/core/consumer/consumer_test.go index 31227717e..9d8814e2b 100644 --- a/core/consumer/consumer_test.go +++ b/submitqueue/core/consumer/consumer_test.go @@ -26,12 +26,12 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" - consumermock "github.com/uber/submitqueue/core/consumer/mock" "github.com/uber/submitqueue/core/errs" "github.com/uber/submitqueue/entity/queue" extqueue "github.com/uber/submitqueue/extension/queue" queuemock "github.com/uber/submitqueue/extension/queue/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + consumermock "github.com/uber/submitqueue/submitqueue/core/consumer/mock" "go.uber.org/mock/gomock" "go.uber.org/zap/zaptest" ) diff --git a/core/consumer/controller.go b/submitqueue/core/consumer/controller.go similarity index 100% rename from core/consumer/controller.go rename to submitqueue/core/consumer/controller.go diff --git a/core/consumer/mock/BUILD.bazel b/submitqueue/core/consumer/mock/BUILD.bazel similarity index 66% rename from core/consumer/mock/BUILD.bazel rename to submitqueue/core/consumer/mock/BUILD.bazel index d03283fc4..177a4b067 100644 --- a/core/consumer/mock/BUILD.bazel +++ b/submitqueue/core/consumer/mock/BUILD.bazel @@ -3,11 +3,11 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "mock", srcs = ["controller_mock.go"], - importpath = "github.com/uber/submitqueue/core/consumer/mock", + importpath = "github.com/uber/submitqueue/submitqueue/core/consumer/mock", visibility = ["//visibility:public"], deps = [ - "//core/consumer", "//entity/queue", + "//submitqueue/core/consumer", "@org_uber_go_mock//gomock", ], ) diff --git a/core/consumer/mock/controller_mock.go b/submitqueue/core/consumer/mock/controller_mock.go similarity index 98% rename from core/consumer/mock/controller_mock.go rename to submitqueue/core/consumer/mock/controller_mock.go index 7b0d6b197..58e6c158a 100644 --- a/core/consumer/mock/controller_mock.go +++ b/submitqueue/core/consumer/mock/controller_mock.go @@ -13,8 +13,8 @@ import ( context "context" reflect "reflect" - consumer "github.com/uber/submitqueue/core/consumer" queue "github.com/uber/submitqueue/entity/queue" + consumer "github.com/uber/submitqueue/submitqueue/core/consumer" gomock "go.uber.org/mock/gomock" ) diff --git a/core/consumer/registry.go b/submitqueue/core/consumer/registry.go similarity index 100% rename from core/consumer/registry.go rename to submitqueue/core/consumer/registry.go diff --git a/core/consumer/registry_test.go b/submitqueue/core/consumer/registry_test.go similarity index 99% rename from core/consumer/registry_test.go rename to submitqueue/core/consumer/registry_test.go index a66d644c1..93d60243a 100644 --- a/core/consumer/registry_test.go +++ b/submitqueue/core/consumer/registry_test.go @@ -19,9 +19,9 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/uber/submitqueue/core/consumer" extqueue "github.com/uber/submitqueue/extension/queue" queuemock "github.com/uber/submitqueue/extension/queue/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" "go.uber.org/mock/gomock" ) diff --git a/submitqueue/core/core.go b/submitqueue/core/core.go new file mode 100644 index 000000000..abb2e052b --- /dev/null +++ b/submitqueue/core/core.go @@ -0,0 +1,21 @@ +// Copyright (c) 2025 Uber Technologies, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +// Package core groups infrastructure shared across SubmitQueue's own services +// (gateway and orchestrator) — the SubmitQueue-scoped analogue of the repo-level +// core/. Cross-domain infrastructure lives in the top-level core/; this package +// is for plumbing private to SubmitQueue. Subpackages: core/consumer (queue +// consumption framework) and core/request (request lifecycle shared by gateway +// and orchestrator). +package core diff --git a/core/request/BUILD.bazel b/submitqueue/core/request/BUILD.bazel similarity index 62% rename from core/request/BUILD.bazel rename to submitqueue/core/request/BUILD.bazel index 2a533a91a..5c2ba910e 100644 --- a/core/request/BUILD.bazel +++ b/submitqueue/core/request/BUILD.bazel @@ -6,13 +6,13 @@ go_library( "log.go", "request.go", ], - importpath = "github.com/uber/submitqueue/core/request", + importpath = "github.com/uber/submitqueue/submitqueue/core/request", visibility = ["//visibility:public"], deps = [ - "//core/consumer", - "//entity", "//entity/queue", - "//extension/storage", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/storage", ], ) @@ -24,12 +24,12 @@ go_test( ], embed = [":request"], deps = [ - "//core/consumer", - "//entity", "//entity/queue", "//extension/queue/mock", - "//extension/storage", - "//extension/storage/mock", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/storage", + "//submitqueue/extension/storage/mock", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@org_uber_go_mock//gomock", diff --git a/core/request/log.go b/submitqueue/core/request/log.go similarity index 96% rename from core/request/log.go rename to submitqueue/core/request/log.go index e84891d11..3686d23c6 100644 --- a/core/request/log.go +++ b/submitqueue/core/request/log.go @@ -18,9 +18,9 @@ import ( "context" "fmt" - "github.com/uber/submitqueue/core/consumer" - "github.com/uber/submitqueue/entity" entityqueue "github.com/uber/submitqueue/entity/queue" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" ) // PublishLog publishes a single request log entry to the log topic for async persistence. diff --git a/core/request/log_test.go b/submitqueue/core/request/log_test.go similarity index 98% rename from core/request/log_test.go rename to submitqueue/core/request/log_test.go index 9e9ff1dbb..ece15243d 100644 --- a/core/request/log_test.go +++ b/submitqueue/core/request/log_test.go @@ -20,10 +20,10 @@ import ( "testing" "github.com/stretchr/testify/require" - "github.com/uber/submitqueue/core/consumer" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" queuemock "github.com/uber/submitqueue/extension/queue/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" "go.uber.org/mock/gomock" ) diff --git a/core/request/request.go b/submitqueue/core/request/request.go similarity index 97% rename from core/request/request.go rename to submitqueue/core/request/request.go index db58fa7e4..e6bde5ee5 100644 --- a/core/request/request.go +++ b/submitqueue/core/request/request.go @@ -18,8 +18,8 @@ import ( "context" "fmt" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" ) // CurrentState holds the current request status obtained from the request log. It is eventually consistent with the request status in the request store. It might take some time to converge, typically no more than a few seconds. diff --git a/core/request/request_test.go b/submitqueue/core/request/request_test.go similarity index 96% rename from core/request/request_test.go rename to submitqueue/core/request/request_test.go index 3b84b7e40..75a955f92 100644 --- a/core/request/request_test.go +++ b/submitqueue/core/request/request_test.go @@ -23,9 +23,9 @@ import ( "github.com/stretchr/testify/require" "go.uber.org/mock/gomock" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/storage" - storagemock "github.com/uber/submitqueue/extension/storage/mock" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" ) func TestGetCurrentStateFromRequestLog(t *testing.T) { diff --git a/submitqueue/entity/BUILD.bazel b/submitqueue/entity/BUILD.bazel new file mode 100644 index 000000000..d99f079b1 --- /dev/null +++ b/submitqueue/entity/BUILD.bazel @@ -0,0 +1,37 @@ +load("@rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "entity", + srcs = [ + "batch.go", + "batch_dependent.go", + "build.go", + "cancel_request.go", + "change_provider.go", + "change_record.go", + "land_request.go", + "queue_config.go", + "request.go", + "request_log.go", + "speculation_tree.go", + ], + importpath = "github.com/uber/submitqueue/submitqueue/entity", + visibility = ["//visibility:public"], +) + +go_test( + name = "entity_test", + srcs = [ + "batch_test.go", + "build_test.go", + "cancel_request_test.go", + "land_request_test.go", + "request_log_test.go", + "request_test.go", + ], + embed = [":entity"], + deps = [ + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//require", + ], +) diff --git a/entity/batch.go b/submitqueue/entity/batch.go similarity index 100% rename from entity/batch.go rename to submitqueue/entity/batch.go diff --git a/entity/batch_dependent.go b/submitqueue/entity/batch_dependent.go similarity index 100% rename from entity/batch_dependent.go rename to submitqueue/entity/batch_dependent.go diff --git a/entity/batch_test.go b/submitqueue/entity/batch_test.go similarity index 100% rename from entity/batch_test.go rename to submitqueue/entity/batch_test.go diff --git a/entity/build.go b/submitqueue/entity/build.go similarity index 100% rename from entity/build.go rename to submitqueue/entity/build.go diff --git a/entity/build_test.go b/submitqueue/entity/build_test.go similarity index 100% rename from entity/build_test.go rename to submitqueue/entity/build_test.go diff --git a/entity/cancel_request.go b/submitqueue/entity/cancel_request.go similarity index 100% rename from entity/cancel_request.go rename to submitqueue/entity/cancel_request.go diff --git a/entity/cancel_request_test.go b/submitqueue/entity/cancel_request_test.go similarity index 100% rename from entity/cancel_request_test.go rename to submitqueue/entity/cancel_request_test.go diff --git a/entity/change_provider.go b/submitqueue/entity/change_provider.go similarity index 100% rename from entity/change_provider.go rename to submitqueue/entity/change_provider.go diff --git a/entity/change_record.go b/submitqueue/entity/change_record.go similarity index 100% rename from entity/change_record.go rename to submitqueue/entity/change_record.go diff --git a/entity/github/BUILD.bazel b/submitqueue/entity/github/BUILD.bazel similarity index 83% rename from entity/github/BUILD.bazel rename to submitqueue/entity/github/BUILD.bazel index 3cabb00ba..df0ce5f60 100644 --- a/entity/github/BUILD.bazel +++ b/submitqueue/entity/github/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "github", srcs = ["change_id.go"], - importpath = "github.com/uber/submitqueue/entity/github", + importpath = "github.com/uber/submitqueue/submitqueue/entity/github", visibility = ["//visibility:public"], ) diff --git a/entity/github/change_id.go b/submitqueue/entity/github/change_id.go similarity index 100% rename from entity/github/change_id.go rename to submitqueue/entity/github/change_id.go diff --git a/entity/github/change_id_test.go b/submitqueue/entity/github/change_id_test.go similarity index 100% rename from entity/github/change_id_test.go rename to submitqueue/entity/github/change_id_test.go diff --git a/entity/land_request.go b/submitqueue/entity/land_request.go similarity index 100% rename from entity/land_request.go rename to submitqueue/entity/land_request.go diff --git a/entity/land_request_test.go b/submitqueue/entity/land_request_test.go similarity index 100% rename from entity/land_request_test.go rename to submitqueue/entity/land_request_test.go diff --git a/entity/phabricator/BUILD.bazel b/submitqueue/entity/phabricator/BUILD.bazel similarity index 83% rename from entity/phabricator/BUILD.bazel rename to submitqueue/entity/phabricator/BUILD.bazel index e561b32ee..858ec5483 100644 --- a/entity/phabricator/BUILD.bazel +++ b/submitqueue/entity/phabricator/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "phabricator", srcs = ["change_id.go"], - importpath = "github.com/uber/submitqueue/entity/phabricator", + importpath = "github.com/uber/submitqueue/submitqueue/entity/phabricator", visibility = ["//visibility:public"], ) diff --git a/entity/phabricator/change_id.go b/submitqueue/entity/phabricator/change_id.go similarity index 100% rename from entity/phabricator/change_id.go rename to submitqueue/entity/phabricator/change_id.go diff --git a/entity/phabricator/change_id_test.go b/submitqueue/entity/phabricator/change_id_test.go similarity index 100% rename from entity/phabricator/change_id_test.go rename to submitqueue/entity/phabricator/change_id_test.go diff --git a/entity/queue_config.go b/submitqueue/entity/queue_config.go similarity index 100% rename from entity/queue_config.go rename to submitqueue/entity/queue_config.go diff --git a/entity/request.go b/submitqueue/entity/request.go similarity index 100% rename from entity/request.go rename to submitqueue/entity/request.go diff --git a/entity/request_log.go b/submitqueue/entity/request_log.go similarity index 100% rename from entity/request_log.go rename to submitqueue/entity/request_log.go diff --git a/entity/request_log_test.go b/submitqueue/entity/request_log_test.go similarity index 100% rename from entity/request_log_test.go rename to submitqueue/entity/request_log_test.go diff --git a/entity/request_test.go b/submitqueue/entity/request_test.go similarity index 100% rename from entity/request_test.go rename to submitqueue/entity/request_test.go diff --git a/entity/speculation_tree.go b/submitqueue/entity/speculation_tree.go similarity index 100% rename from entity/speculation_tree.go rename to submitqueue/entity/speculation_tree.go diff --git a/extension/buildrunner/BUILD.bazel b/submitqueue/extension/buildrunner/BUILD.bazel similarity index 57% rename from extension/buildrunner/BUILD.bazel rename to submitqueue/extension/buildrunner/BUILD.bazel index 190da6b8c..62c1ba42e 100644 --- a/extension/buildrunner/BUILD.bazel +++ b/submitqueue/extension/buildrunner/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "buildrunner", srcs = ["build_runner.go"], - importpath = "github.com/uber/submitqueue/extension/buildrunner", + importpath = "github.com/uber/submitqueue/submitqueue/extension/buildrunner", visibility = ["//visibility:public"], - deps = ["//entity"], + deps = ["//submitqueue/entity"], ) diff --git a/extension/buildrunner/README.md b/submitqueue/extension/buildrunner/README.md similarity index 80% rename from extension/buildrunner/README.md rename to submitqueue/extension/buildrunner/README.md index 6e56ac012..01e716f3a 100644 --- a/extension/buildrunner/README.md +++ b/submitqueue/extension/buildrunner/README.md @@ -2,7 +2,7 @@ Pluggable abstraction for triggering builds against an external Build Runner, querying their status, and cancelling them. -See [`doc/rfc/build-runner.md`](../../doc/rfc/build-runner.md) for the contract and design rationale. See `build_runner.go` for the interface itself. +See [`doc/rfc/submitqueue/build-runner.md`](../../../doc/rfc/submitqueue/build-runner.md) for the contract and design rationale. See `build_runner.go` for the interface itself. ## Adding a new backend diff --git a/extension/buildrunner/build_runner.go b/submitqueue/extension/buildrunner/build_runner.go similarity index 98% rename from extension/buildrunner/build_runner.go rename to submitqueue/extension/buildrunner/build_runner.go index eb262426e..f34a404a6 100644 --- a/extension/buildrunner/build_runner.go +++ b/submitqueue/extension/buildrunner/build_runner.go @@ -19,7 +19,7 @@ package buildrunner import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // BuildRunner triggers builds against an external Build Runner, queries diff --git a/extension/buildrunner/mock/BUILD.bazel b/submitqueue/extension/buildrunner/mock/BUILD.bazel similarity index 64% rename from extension/buildrunner/mock/BUILD.bazel rename to submitqueue/extension/buildrunner/mock/BUILD.bazel index e24e6c3b5..4b0375cfb 100644 --- a/extension/buildrunner/mock/BUILD.bazel +++ b/submitqueue/extension/buildrunner/mock/BUILD.bazel @@ -3,10 +3,10 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "mock", srcs = ["build_runner_mock.go"], - importpath = "github.com/uber/submitqueue/extension/buildrunner/mock", + importpath = "github.com/uber/submitqueue/submitqueue/extension/buildrunner/mock", visibility = ["//visibility:public"], deps = [ - "//entity", + "//submitqueue/entity", "@org_uber_go_mock//gomock", ], ) diff --git a/extension/buildrunner/mock/build_runner_mock.go b/submitqueue/extension/buildrunner/mock/build_runner_mock.go similarity index 98% rename from extension/buildrunner/mock/build_runner_mock.go rename to submitqueue/extension/buildrunner/mock/build_runner_mock.go index 9fae6097f..d39477aea 100644 --- a/extension/buildrunner/mock/build_runner_mock.go +++ b/submitqueue/extension/buildrunner/mock/build_runner_mock.go @@ -13,7 +13,7 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" + entity "github.com/uber/submitqueue/submitqueue/entity" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/buildrunner/noop/BUILD.bazel b/submitqueue/extension/buildrunner/noop/BUILD.bazel similarity index 60% rename from extension/buildrunner/noop/BUILD.bazel rename to submitqueue/extension/buildrunner/noop/BUILD.bazel index f53beb24f..00fef8af5 100644 --- a/extension/buildrunner/noop/BUILD.bazel +++ b/submitqueue/extension/buildrunner/noop/BUILD.bazel @@ -3,11 +3,11 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "noop", srcs = ["noop.go"], - importpath = "github.com/uber/submitqueue/extension/buildrunner/noop", + importpath = "github.com/uber/submitqueue/submitqueue/extension/buildrunner/noop", visibility = ["//visibility:public"], deps = [ - "//entity", - "//extension/buildrunner", + "//submitqueue/entity", + "//submitqueue/extension/buildrunner", ], ) @@ -16,8 +16,8 @@ go_test( srcs = ["noop_test.go"], embed = [":noop"], deps = [ - "//entity", - "//extension/buildrunner", + "//submitqueue/entity", + "//submitqueue/extension/buildrunner", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", ], diff --git a/extension/buildrunner/noop/noop.go b/submitqueue/extension/buildrunner/noop/noop.go similarity index 94% rename from extension/buildrunner/noop/noop.go rename to submitqueue/extension/buildrunner/noop/noop.go index 61637434f..71bba9a25 100644 --- a/extension/buildrunner/noop/noop.go +++ b/submitqueue/extension/buildrunner/noop/noop.go @@ -23,8 +23,8 @@ import ( "fmt" "sync/atomic" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/buildrunner" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/buildrunner" ) // runner is a buildrunner.BuildRunner that does no real work and reports diff --git a/extension/buildrunner/noop/noop_test.go b/submitqueue/extension/buildrunner/noop/noop_test.go similarity index 93% rename from extension/buildrunner/noop/noop_test.go rename to submitqueue/extension/buildrunner/noop/noop_test.go index 436725cd9..76955c32c 100644 --- a/extension/buildrunner/noop/noop_test.go +++ b/submitqueue/extension/buildrunner/noop/noop_test.go @@ -20,8 +20,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/buildrunner" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/buildrunner" ) func TestNew_ImplementsInterface(t *testing.T) { diff --git a/extension/changeprovider/BUILD.bazel b/submitqueue/extension/changeprovider/BUILD.bazel similarity index 57% rename from extension/changeprovider/BUILD.bazel rename to submitqueue/extension/changeprovider/BUILD.bazel index 61b2e095f..e25549fa9 100644 --- a/extension/changeprovider/BUILD.bazel +++ b/submitqueue/extension/changeprovider/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "changeprovider", srcs = ["change_provider.go"], - importpath = "github.com/uber/submitqueue/extension/changeprovider", + importpath = "github.com/uber/submitqueue/submitqueue/extension/changeprovider", visibility = ["//visibility:public"], - deps = ["//entity"], + deps = ["//submitqueue/entity"], ) diff --git a/extension/changeprovider/change_provider.go b/submitqueue/extension/changeprovider/change_provider.go similarity index 97% rename from extension/changeprovider/change_provider.go rename to submitqueue/extension/changeprovider/change_provider.go index 078df0f54..ea40884f5 100644 --- a/extension/changeprovider/change_provider.go +++ b/submitqueue/extension/changeprovider/change_provider.go @@ -17,7 +17,7 @@ package changeprovider import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // User represents the author of a change. diff --git a/extension/changeprovider/github/BUILD.bazel b/submitqueue/extension/changeprovider/github/BUILD.bazel similarity index 69% rename from extension/changeprovider/github/BUILD.bazel rename to submitqueue/extension/changeprovider/github/BUILD.bazel index 90209846d..71ab2a34a 100644 --- a/extension/changeprovider/github/BUILD.bazel +++ b/submitqueue/extension/changeprovider/github/BUILD.bazel @@ -8,13 +8,13 @@ go_library( "provider.go", "validate.go", ], - importpath = "github.com/uber/submitqueue/extension/changeprovider/github", + importpath = "github.com/uber/submitqueue/submitqueue/extension/changeprovider/github", visibility = ["//visibility:public"], deps = [ "//core/metrics", - "//entity", - "//entity/github", - "//extension/changeprovider", + "//submitqueue/entity", + "//submitqueue/entity/github", + "//submitqueue/extension/changeprovider", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -30,9 +30,9 @@ go_test( embed = [":github"], deps = [ "//core/httpclient", - "//entity", - "//entity/github", - "//extension/changeprovider", + "//submitqueue/entity", + "//submitqueue/entity/github", + "//submitqueue/extension/changeprovider", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/extension/changeprovider/github/convert.go b/submitqueue/extension/changeprovider/github/convert.go similarity index 86% rename from extension/changeprovider/github/convert.go rename to submitqueue/extension/changeprovider/github/convert.go index 0c7ce8691..40c28de1a 100644 --- a/extension/changeprovider/github/convert.go +++ b/submitqueue/extension/changeprovider/github/convert.go @@ -1,8 +1,8 @@ package github import ( - entitygithub "github.com/uber/submitqueue/entity/github" - "github.com/uber/submitqueue/extension/changeprovider" + entitygithub "github.com/uber/submitqueue/submitqueue/entity/github" + "github.com/uber/submitqueue/submitqueue/extension/changeprovider" ) // convertToChangeInfo converts GitHub PR data to ChangeInfo. diff --git a/extension/changeprovider/github/graphql.go b/submitqueue/extension/changeprovider/github/graphql.go similarity index 100% rename from extension/changeprovider/github/graphql.go rename to submitqueue/extension/changeprovider/github/graphql.go diff --git a/extension/changeprovider/github/graphql_test.go b/submitqueue/extension/changeprovider/github/graphql_test.go similarity index 100% rename from extension/changeprovider/github/graphql_test.go rename to submitqueue/extension/changeprovider/github/graphql_test.go diff --git a/extension/changeprovider/github/provider.go b/submitqueue/extension/changeprovider/github/provider.go similarity index 95% rename from extension/changeprovider/github/provider.go rename to submitqueue/extension/changeprovider/github/provider.go index 79b361793..5c1274d15 100644 --- a/extension/changeprovider/github/provider.go +++ b/submitqueue/extension/changeprovider/github/provider.go @@ -10,9 +10,9 @@ import ( "go.uber.org/zap" coremetrics "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - entitygithub "github.com/uber/submitqueue/entity/github" - "github.com/uber/submitqueue/extension/changeprovider" + "github.com/uber/submitqueue/submitqueue/entity" + entitygithub "github.com/uber/submitqueue/submitqueue/entity/github" + "github.com/uber/submitqueue/submitqueue/extension/changeprovider" ) // Params holds the dependencies for the GitHub ChangeProvider. diff --git a/extension/changeprovider/github/provider_test.go b/submitqueue/extension/changeprovider/github/provider_test.go similarity index 97% rename from extension/changeprovider/github/provider_test.go rename to submitqueue/extension/changeprovider/github/provider_test.go index cb255c7b4..3f57d51fd 100644 --- a/extension/changeprovider/github/provider_test.go +++ b/submitqueue/extension/changeprovider/github/provider_test.go @@ -13,8 +13,8 @@ import ( "go.uber.org/zap/zaptest" "github.com/uber/submitqueue/core/httpclient" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/changeprovider" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/changeprovider" ) // Sample 40-char lowercase hex SHAs used across the test cases. diff --git a/extension/changeprovider/github/validate.go b/submitqueue/extension/changeprovider/github/validate.go similarity index 95% rename from extension/changeprovider/github/validate.go rename to submitqueue/extension/changeprovider/github/validate.go index 55bf1fb5c..4c87fbbfb 100644 --- a/extension/changeprovider/github/validate.go +++ b/submitqueue/extension/changeprovider/github/validate.go @@ -3,7 +3,7 @@ package github import ( "fmt" - entitygithub "github.com/uber/submitqueue/entity/github" + entitygithub "github.com/uber/submitqueue/submitqueue/entity/github" ) // validateChangeConsistency validates that all changeIDs in the stack are consistent. diff --git a/extension/changeprovider/github/validate_test.go b/submitqueue/extension/changeprovider/github/validate_test.go similarity index 97% rename from extension/changeprovider/github/validate_test.go rename to submitqueue/extension/changeprovider/github/validate_test.go index 93ceb0287..292cb2913 100644 --- a/extension/changeprovider/github/validate_test.go +++ b/submitqueue/extension/changeprovider/github/validate_test.go @@ -4,7 +4,7 @@ import ( "testing" "github.com/stretchr/testify/require" - entitygithub "github.com/uber/submitqueue/entity/github" + entitygithub "github.com/uber/submitqueue/submitqueue/entity/github" ) func TestValidateChangeConsistency(t *testing.T) { diff --git a/extension/changestore/BUILD.bazel b/submitqueue/extension/changestore/BUILD.bazel similarity index 57% rename from extension/changestore/BUILD.bazel rename to submitqueue/extension/changestore/BUILD.bazel index a80c5ce59..d1a19a335 100644 --- a/extension/changestore/BUILD.bazel +++ b/submitqueue/extension/changestore/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "changestore", srcs = ["change_store.go"], - importpath = "github.com/uber/submitqueue/extension/changestore", + importpath = "github.com/uber/submitqueue/submitqueue/extension/changestore", visibility = ["//visibility:public"], - deps = ["//entity"], + deps = ["//submitqueue/entity"], ) diff --git a/extension/changestore/README.md b/submitqueue/extension/changestore/README.md similarity index 100% rename from extension/changestore/README.md rename to submitqueue/extension/changestore/README.md diff --git a/extension/changestore/change_store.go b/submitqueue/extension/changestore/change_store.go similarity index 97% rename from extension/changestore/change_store.go rename to submitqueue/extension/changestore/change_store.go index 6b531170a..62e008777 100644 --- a/extension/changestore/change_store.go +++ b/submitqueue/extension/changestore/change_store.go @@ -19,7 +19,7 @@ package changestore import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // ChangeStore manages per-URI claim records for in-flight land requests. diff --git a/extension/changestore/mock/BUILD.bazel b/submitqueue/extension/changestore/mock/BUILD.bazel similarity index 64% rename from extension/changestore/mock/BUILD.bazel rename to submitqueue/extension/changestore/mock/BUILD.bazel index 6d1bd2de7..57b5c3b05 100644 --- a/extension/changestore/mock/BUILD.bazel +++ b/submitqueue/extension/changestore/mock/BUILD.bazel @@ -3,10 +3,10 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "mock", srcs = ["change_store_mock.go"], - importpath = "github.com/uber/submitqueue/extension/changestore/mock", + importpath = "github.com/uber/submitqueue/submitqueue/extension/changestore/mock", visibility = ["//visibility:public"], deps = [ - "//entity", + "//submitqueue/entity", "@org_uber_go_mock//gomock", ], ) diff --git a/extension/changestore/mock/change_store_mock.go b/submitqueue/extension/changestore/mock/change_store_mock.go similarity index 97% rename from extension/changestore/mock/change_store_mock.go rename to submitqueue/extension/changestore/mock/change_store_mock.go index 8308824ab..fa109d6c9 100644 --- a/extension/changestore/mock/change_store_mock.go +++ b/submitqueue/extension/changestore/mock/change_store_mock.go @@ -13,7 +13,7 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" + entity "github.com/uber/submitqueue/submitqueue/entity" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/changestore/mysql/BUILD.bazel b/submitqueue/extension/changestore/mysql/BUILD.bazel similarity index 59% rename from extension/changestore/mysql/BUILD.bazel rename to submitqueue/extension/changestore/mysql/BUILD.bazel index 73f9f0905..5c181e8a0 100644 --- a/extension/changestore/mysql/BUILD.bazel +++ b/submitqueue/extension/changestore/mysql/BUILD.bazel @@ -3,12 +3,12 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "mysql", srcs = ["change_store.go"], - importpath = "github.com/uber/submitqueue/extension/changestore/mysql", + importpath = "github.com/uber/submitqueue/submitqueue/extension/changestore/mysql", visibility = ["//visibility:public"], deps = [ "//core/metrics", - "//entity", - "//extension/changestore", + "//submitqueue/entity", + "//submitqueue/extension/changestore", "@com_github_uber_go_tally_v4//:tally", ], ) diff --git a/extension/changestore/mysql/change_store.go b/submitqueue/extension/changestore/mysql/change_store.go similarity index 96% rename from extension/changestore/mysql/change_store.go rename to submitqueue/extension/changestore/mysql/change_store.go index 929f527f4..0b8f1bfb3 100644 --- a/extension/changestore/mysql/change_store.go +++ b/submitqueue/extension/changestore/mysql/change_store.go @@ -22,8 +22,8 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/changestore" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/changestore" ) type changeStore struct { diff --git a/extension/changestore/mysql/schema/BUILD.bazel b/submitqueue/extension/changestore/mysql/schema/BUILD.bazel similarity index 100% rename from extension/changestore/mysql/schema/BUILD.bazel rename to submitqueue/extension/changestore/mysql/schema/BUILD.bazel diff --git a/extension/changestore/mysql/schema/change.sql b/submitqueue/extension/changestore/mysql/schema/change.sql similarity index 100% rename from extension/changestore/mysql/schema/change.sql rename to submitqueue/extension/changestore/mysql/schema/change.sql diff --git a/extension/conflict/BUILD.bazel b/submitqueue/extension/conflict/BUILD.bazel similarity index 56% rename from extension/conflict/BUILD.bazel rename to submitqueue/extension/conflict/BUILD.bazel index 9792ba94c..47d05b5b8 100644 --- a/extension/conflict/BUILD.bazel +++ b/submitqueue/extension/conflict/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "conflict", srcs = ["conflict.go"], - importpath = "github.com/uber/submitqueue/extension/conflict", + importpath = "github.com/uber/submitqueue/submitqueue/extension/conflict", visibility = ["//visibility:public"], - deps = ["//entity"], + deps = ["//submitqueue/entity"], ) diff --git a/extension/conflict/README.md b/submitqueue/extension/conflict/README.md similarity index 100% rename from extension/conflict/README.md rename to submitqueue/extension/conflict/README.md diff --git a/extension/conflict/all/BUILD.bazel b/submitqueue/extension/conflict/all/BUILD.bazel similarity index 61% rename from extension/conflict/all/BUILD.bazel rename to submitqueue/extension/conflict/all/BUILD.bazel index f66b479c0..0195701f7 100644 --- a/extension/conflict/all/BUILD.bazel +++ b/submitqueue/extension/conflict/all/BUILD.bazel @@ -3,11 +3,11 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "all", srcs = ["all.go"], - importpath = "github.com/uber/submitqueue/extension/conflict/all", + importpath = "github.com/uber/submitqueue/submitqueue/extension/conflict/all", visibility = ["//visibility:public"], deps = [ - "//entity", - "//extension/conflict", + "//submitqueue/entity", + "//submitqueue/extension/conflict", ], ) @@ -16,8 +16,8 @@ go_test( srcs = ["all_test.go"], embed = [":all"], deps = [ - "//entity", - "//extension/conflict", + "//submitqueue/entity", + "//submitqueue/extension/conflict", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", ], diff --git a/extension/conflict/all/all.go b/submitqueue/extension/conflict/all/all.go similarity index 93% rename from extension/conflict/all/all.go rename to submitqueue/extension/conflict/all/all.go index 4b7531517..d9e917434 100644 --- a/extension/conflict/all/all.go +++ b/submitqueue/extension/conflict/all/all.go @@ -20,8 +20,8 @@ package all import ( "context" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/conflict" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/conflict" ) // analyzer is a conflict.Analyzer that reports every in-flight batch as a diff --git a/extension/conflict/all/all_test.go b/submitqueue/extension/conflict/all/all_test.go similarity index 94% rename from extension/conflict/all/all_test.go rename to submitqueue/extension/conflict/all/all_test.go index 02e7f521b..df32419c5 100644 --- a/extension/conflict/all/all_test.go +++ b/submitqueue/extension/conflict/all/all_test.go @@ -20,8 +20,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/conflict" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/conflict" ) func TestAnalyze(t *testing.T) { diff --git a/extension/conflict/conflict.go b/submitqueue/extension/conflict/conflict.go similarity index 98% rename from extension/conflict/conflict.go rename to submitqueue/extension/conflict/conflict.go index b9c982295..40594a369 100644 --- a/extension/conflict/conflict.go +++ b/submitqueue/extension/conflict/conflict.go @@ -19,7 +19,7 @@ package conflict import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // ConflictType classifies why two batches are considered to conflict. diff --git a/extension/conflict/mock/BUILD.bazel b/submitqueue/extension/conflict/mock/BUILD.bazel similarity index 56% rename from extension/conflict/mock/BUILD.bazel rename to submitqueue/extension/conflict/mock/BUILD.bazel index b88453cae..f6e389991 100644 --- a/extension/conflict/mock/BUILD.bazel +++ b/submitqueue/extension/conflict/mock/BUILD.bazel @@ -3,11 +3,11 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "mock", srcs = ["conflict_mock.go"], - importpath = "github.com/uber/submitqueue/extension/conflict/mock", + importpath = "github.com/uber/submitqueue/submitqueue/extension/conflict/mock", visibility = ["//visibility:public"], deps = [ - "//entity", - "//extension/conflict", + "//submitqueue/entity", + "//submitqueue/extension/conflict", "@org_uber_go_mock//gomock", ], ) diff --git a/extension/conflict/mock/conflict_mock.go b/submitqueue/extension/conflict/mock/conflict_mock.go similarity index 92% rename from extension/conflict/mock/conflict_mock.go rename to submitqueue/extension/conflict/mock/conflict_mock.go index fbc09eb63..6ed3f10a5 100644 --- a/extension/conflict/mock/conflict_mock.go +++ b/submitqueue/extension/conflict/mock/conflict_mock.go @@ -13,8 +13,8 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" - conflict "github.com/uber/submitqueue/extension/conflict" + entity "github.com/uber/submitqueue/submitqueue/entity" + conflict "github.com/uber/submitqueue/submitqueue/extension/conflict" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/conflict/none/BUILD.bazel b/submitqueue/extension/conflict/none/BUILD.bazel similarity index 66% rename from extension/conflict/none/BUILD.bazel rename to submitqueue/extension/conflict/none/BUILD.bazel index 0ce19267e..0e2f09f23 100644 --- a/extension/conflict/none/BUILD.bazel +++ b/submitqueue/extension/conflict/none/BUILD.bazel @@ -3,11 +3,11 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "none", srcs = ["none.go"], - importpath = "github.com/uber/submitqueue/extension/conflict/none", + importpath = "github.com/uber/submitqueue/submitqueue/extension/conflict/none", visibility = ["//visibility:public"], deps = [ - "//entity", - "//extension/conflict", + "//submitqueue/entity", + "//submitqueue/extension/conflict", ], ) @@ -16,7 +16,7 @@ go_test( srcs = ["none_test.go"], embed = [":none"], deps = [ - "//entity", + "//submitqueue/entity", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", ], diff --git a/extension/conflict/none/none.go b/submitqueue/extension/conflict/none/none.go similarity index 91% rename from extension/conflict/none/none.go rename to submitqueue/extension/conflict/none/none.go index 7637a4045..ec48d362a 100644 --- a/extension/conflict/none/none.go +++ b/submitqueue/extension/conflict/none/none.go @@ -20,8 +20,8 @@ package none import ( "context" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/conflict" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/conflict" ) // analyzer is a conflict.Analyzer that always returns no conflicts. diff --git a/extension/conflict/none/none_test.go b/submitqueue/extension/conflict/none/none_test.go similarity index 96% rename from extension/conflict/none/none_test.go rename to submitqueue/extension/conflict/none/none_test.go index a3e93695e..fa45c30c8 100644 --- a/extension/conflict/none/none_test.go +++ b/submitqueue/extension/conflict/none/none_test.go @@ -20,7 +20,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) func TestAnalyze(t *testing.T) { diff --git a/extension/counter/BUILD.bazel b/submitqueue/extension/counter/BUILD.bazel similarity index 65% rename from extension/counter/BUILD.bazel rename to submitqueue/extension/counter/BUILD.bazel index ee7a5b314..102cc817b 100644 --- a/extension/counter/BUILD.bazel +++ b/submitqueue/extension/counter/BUILD.bazel @@ -3,6 +3,6 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "counter", srcs = ["counter.go"], - importpath = "github.com/uber/submitqueue/extension/counter", + importpath = "github.com/uber/submitqueue/submitqueue/extension/counter", visibility = ["//visibility:public"], ) diff --git a/extension/counter/README.md b/submitqueue/extension/counter/README.md similarity index 100% rename from extension/counter/README.md rename to submitqueue/extension/counter/README.md diff --git a/extension/counter/counter.go b/submitqueue/extension/counter/counter.go similarity index 100% rename from extension/counter/counter.go rename to submitqueue/extension/counter/counter.go diff --git a/extension/counter/mock/BUILD.bazel b/submitqueue/extension/counter/mock/BUILD.bazel similarity index 70% rename from extension/counter/mock/BUILD.bazel rename to submitqueue/extension/counter/mock/BUILD.bazel index 7d3003253..7c5ad4429 100644 --- a/extension/counter/mock/BUILD.bazel +++ b/submitqueue/extension/counter/mock/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "mock", srcs = ["counter_mock.go"], - importpath = "github.com/uber/submitqueue/extension/counter/mock", + importpath = "github.com/uber/submitqueue/submitqueue/extension/counter/mock", visibility = ["//visibility:public"], deps = ["@org_uber_go_mock//gomock"], ) diff --git a/extension/counter/mock/counter_mock.go b/submitqueue/extension/counter/mock/counter_mock.go similarity index 100% rename from extension/counter/mock/counter_mock.go rename to submitqueue/extension/counter/mock/counter_mock.go diff --git a/extension/counter/mysql/BUILD.bazel b/submitqueue/extension/counter/mysql/BUILD.bazel similarity index 65% rename from extension/counter/mysql/BUILD.bazel rename to submitqueue/extension/counter/mysql/BUILD.bazel index f123a0894..d75c1b759 100644 --- a/extension/counter/mysql/BUILD.bazel +++ b/submitqueue/extension/counter/mysql/BUILD.bazel @@ -3,11 +3,11 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "mysql", srcs = ["counter.go"], - importpath = "github.com/uber/submitqueue/extension/counter/mysql", + importpath = "github.com/uber/submitqueue/submitqueue/extension/counter/mysql", visibility = ["//visibility:public"], deps = [ "//core/metrics", - "//extension/counter", + "//submitqueue/extension/counter", "@com_github_uber_go_tally_v4//:tally", ], ) diff --git a/extension/counter/mysql/counter.go b/submitqueue/extension/counter/mysql/counter.go similarity index 96% rename from extension/counter/mysql/counter.go rename to submitqueue/extension/counter/mysql/counter.go index 5c2f2ccc5..9cc25a2e3 100644 --- a/extension/counter/mysql/counter.go +++ b/submitqueue/extension/counter/mysql/counter.go @@ -21,7 +21,7 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/extension/counter" + "github.com/uber/submitqueue/submitqueue/extension/counter" ) type mysqlCounter struct { diff --git a/extension/counter/mysql/schema/BUILD.bazel b/submitqueue/extension/counter/mysql/schema/BUILD.bazel similarity index 100% rename from extension/counter/mysql/schema/BUILD.bazel rename to submitqueue/extension/counter/mysql/schema/BUILD.bazel diff --git a/extension/counter/mysql/schema/counter.sql b/submitqueue/extension/counter/mysql/schema/counter.sql similarity index 100% rename from extension/counter/mysql/schema/counter.sql rename to submitqueue/extension/counter/mysql/schema/counter.sql diff --git a/extension/mergechecker/BUILD.bazel b/submitqueue/extension/mergechecker/BUILD.bazel similarity index 73% rename from extension/mergechecker/BUILD.bazel rename to submitqueue/extension/mergechecker/BUILD.bazel index 1f797fde2..cba27dc37 100644 --- a/extension/mergechecker/BUILD.bazel +++ b/submitqueue/extension/mergechecker/BUILD.bazel @@ -6,9 +6,9 @@ go_library( "mergechecker.go", "multi.go", ], - importpath = "github.com/uber/submitqueue/extension/mergechecker", + importpath = "github.com/uber/submitqueue/submitqueue/extension/mergechecker", visibility = ["//visibility:public"], - deps = ["//entity"], + deps = ["//submitqueue/entity"], ) go_test( @@ -16,7 +16,7 @@ go_test( srcs = ["multi_test.go"], embed = [":mergechecker"], deps = [ - "//entity", + "//submitqueue/entity", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", ], diff --git a/extension/mergechecker/github/BUILD.bazel b/submitqueue/extension/mergechecker/github/BUILD.bazel similarity index 69% rename from extension/mergechecker/github/BUILD.bazel rename to submitqueue/extension/mergechecker/github/BUILD.bazel index 75515552a..0491753ab 100644 --- a/extension/mergechecker/github/BUILD.bazel +++ b/submitqueue/extension/mergechecker/github/BUILD.bazel @@ -7,13 +7,13 @@ go_library( "graphql.go", "validate.go", ], - importpath = "github.com/uber/submitqueue/extension/mergechecker/github", + importpath = "github.com/uber/submitqueue/submitqueue/extension/mergechecker/github", visibility = ["//visibility:public"], deps = [ "//core/metrics", - "//entity", - "//entity/github", - "//extension/mergechecker", + "//submitqueue/entity", + "//submitqueue/entity/github", + "//submitqueue/extension/mergechecker", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -29,9 +29,9 @@ go_test( embed = [":github"], deps = [ "//core/httpclient", - "//entity", - "//entity/github", - "//extension/mergechecker", + "//submitqueue/entity", + "//submitqueue/entity/github", + "//submitqueue/extension/mergechecker", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/extension/mergechecker/github/checker.go b/submitqueue/extension/mergechecker/github/checker.go similarity index 96% rename from extension/mergechecker/github/checker.go rename to submitqueue/extension/mergechecker/github/checker.go index 2fc352f7f..ea54c7e3b 100644 --- a/extension/mergechecker/github/checker.go +++ b/submitqueue/extension/mergechecker/github/checker.go @@ -24,9 +24,9 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - entitygithub "github.com/uber/submitqueue/entity/github" - "github.com/uber/submitqueue/extension/mergechecker" + "github.com/uber/submitqueue/submitqueue/entity" + entitygithub "github.com/uber/submitqueue/submitqueue/entity/github" + "github.com/uber/submitqueue/submitqueue/extension/mergechecker" "go.uber.org/zap" ) diff --git a/extension/mergechecker/github/checker_test.go b/submitqueue/extension/mergechecker/github/checker_test.go similarity index 98% rename from extension/mergechecker/github/checker_test.go rename to submitqueue/extension/mergechecker/github/checker_test.go index 9ab224a7b..e349c1ab8 100644 --- a/extension/mergechecker/github/checker_test.go +++ b/submitqueue/extension/mergechecker/github/checker_test.go @@ -26,8 +26,8 @@ import ( "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/httpclient" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/mergechecker" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/mergechecker" "go.uber.org/zap/zaptest" ) diff --git a/extension/mergechecker/github/graphql.go b/submitqueue/extension/mergechecker/github/graphql.go similarity index 98% rename from extension/mergechecker/github/graphql.go rename to submitqueue/extension/mergechecker/github/graphql.go index 2b49710f7..1268f5c26 100644 --- a/extension/mergechecker/github/graphql.go +++ b/submitqueue/extension/mergechecker/github/graphql.go @@ -19,7 +19,7 @@ import ( "fmt" "strings" - entitygithub "github.com/uber/submitqueue/entity/github" + entitygithub "github.com/uber/submitqueue/submitqueue/entity/github" ) // graphQLRequest is the request body for the GitHub GraphQL API. diff --git a/extension/mergechecker/github/graphql_test.go b/submitqueue/extension/mergechecker/github/graphql_test.go similarity index 98% rename from extension/mergechecker/github/graphql_test.go rename to submitqueue/extension/mergechecker/github/graphql_test.go index 83bb5f4b5..898859a39 100644 --- a/extension/mergechecker/github/graphql_test.go +++ b/submitqueue/extension/mergechecker/github/graphql_test.go @@ -20,7 +20,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - entitygithub "github.com/uber/submitqueue/entity/github" + entitygithub "github.com/uber/submitqueue/submitqueue/entity/github" ) func TestBuildGraphQLQuery(t *testing.T) { diff --git a/extension/mergechecker/github/validate.go b/submitqueue/extension/mergechecker/github/validate.go similarity index 98% rename from extension/mergechecker/github/validate.go rename to submitqueue/extension/mergechecker/github/validate.go index 90f01051c..870ecd930 100644 --- a/extension/mergechecker/github/validate.go +++ b/submitqueue/extension/mergechecker/github/validate.go @@ -17,7 +17,7 @@ package github import ( "fmt" - entitygithub "github.com/uber/submitqueue/entity/github" + entitygithub "github.com/uber/submitqueue/submitqueue/entity/github" ) // PRMergeableState represents the mergeability state of a pull request. diff --git a/extension/mergechecker/github/validate_test.go b/submitqueue/extension/mergechecker/github/validate_test.go similarity index 98% rename from extension/mergechecker/github/validate_test.go rename to submitqueue/extension/mergechecker/github/validate_test.go index 5af460f4b..3f49ee4b6 100644 --- a/extension/mergechecker/github/validate_test.go +++ b/submitqueue/extension/mergechecker/github/validate_test.go @@ -19,7 +19,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - entitygithub "github.com/uber/submitqueue/entity/github" + entitygithub "github.com/uber/submitqueue/submitqueue/entity/github" ) func TestValidatePRs(t *testing.T) { diff --git a/extension/mergechecker/mergechecker.go b/submitqueue/extension/mergechecker/mergechecker.go similarity index 96% rename from extension/mergechecker/mergechecker.go rename to submitqueue/extension/mergechecker/mergechecker.go index 4d572e7d1..ea83f5ebc 100644 --- a/extension/mergechecker/mergechecker.go +++ b/submitqueue/extension/mergechecker/mergechecker.go @@ -19,7 +19,7 @@ package mergechecker import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // MergeChecker predicts whether a set of changes can merge cleanly. diff --git a/extension/mergechecker/mock/BUILD.bazel b/submitqueue/extension/mergechecker/mock/BUILD.bazel similarity index 56% rename from extension/mergechecker/mock/BUILD.bazel rename to submitqueue/extension/mergechecker/mock/BUILD.bazel index bb83b0fed..999f5ab3c 100644 --- a/extension/mergechecker/mock/BUILD.bazel +++ b/submitqueue/extension/mergechecker/mock/BUILD.bazel @@ -3,11 +3,11 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "mock", srcs = ["mergechecker_mock.go"], - importpath = "github.com/uber/submitqueue/extension/mergechecker/mock", + importpath = "github.com/uber/submitqueue/submitqueue/extension/mergechecker/mock", visibility = ["//visibility:public"], deps = [ - "//entity", - "//extension/mergechecker", + "//submitqueue/entity", + "//submitqueue/extension/mergechecker", "@org_uber_go_mock//gomock", ], ) diff --git a/extension/mergechecker/mock/mergechecker_mock.go b/submitqueue/extension/mergechecker/mock/mergechecker_mock.go similarity index 92% rename from extension/mergechecker/mock/mergechecker_mock.go rename to submitqueue/extension/mergechecker/mock/mergechecker_mock.go index 8de75eec9..68e98b104 100644 --- a/extension/mergechecker/mock/mergechecker_mock.go +++ b/submitqueue/extension/mergechecker/mock/mergechecker_mock.go @@ -13,8 +13,8 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" - mergechecker "github.com/uber/submitqueue/extension/mergechecker" + entity "github.com/uber/submitqueue/submitqueue/entity" + mergechecker "github.com/uber/submitqueue/submitqueue/extension/mergechecker" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/mergechecker/multi.go b/submitqueue/extension/mergechecker/multi.go similarity index 97% rename from extension/mergechecker/multi.go rename to submitqueue/extension/mergechecker/multi.go index a98baf3da..fc4c4e0d6 100644 --- a/extension/mergechecker/multi.go +++ b/submitqueue/extension/mergechecker/multi.go @@ -19,7 +19,7 @@ import ( "fmt" "strings" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // multiChecker dispatches mergeability checks to scheme-specific checkers diff --git a/extension/mergechecker/multi_test.go b/submitqueue/extension/mergechecker/multi_test.go similarity index 98% rename from extension/mergechecker/multi_test.go rename to submitqueue/extension/mergechecker/multi_test.go index 422fe3aa3..9cab5105c 100644 --- a/extension/mergechecker/multi_test.go +++ b/submitqueue/extension/mergechecker/multi_test.go @@ -21,7 +21,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // stubChecker is a test stub that returns a fixed result. diff --git a/extension/pusher/BUILD.bazel b/submitqueue/extension/pusher/BUILD.bazel similarity index 56% rename from extension/pusher/BUILD.bazel rename to submitqueue/extension/pusher/BUILD.bazel index a1aa1383a..d36db3a02 100644 --- a/extension/pusher/BUILD.bazel +++ b/submitqueue/extension/pusher/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "pusher", srcs = ["pusher.go"], - importpath = "github.com/uber/submitqueue/extension/pusher", + importpath = "github.com/uber/submitqueue/submitqueue/extension/pusher", visibility = ["//visibility:public"], - deps = ["//entity"], + deps = ["//submitqueue/entity"], ) diff --git a/extension/pusher/README.md b/submitqueue/extension/pusher/README.md similarity index 100% rename from extension/pusher/README.md rename to submitqueue/extension/pusher/README.md diff --git a/extension/pusher/git/BUILD.bazel b/submitqueue/extension/pusher/git/BUILD.bazel similarity index 68% rename from extension/pusher/git/BUILD.bazel rename to submitqueue/extension/pusher/git/BUILD.bazel index cfa7623d4..2525962f4 100644 --- a/extension/pusher/git/BUILD.bazel +++ b/submitqueue/extension/pusher/git/BUILD.bazel @@ -3,13 +3,13 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "git", srcs = ["git_pusher.go"], - importpath = "github.com/uber/submitqueue/extension/pusher/git", + importpath = "github.com/uber/submitqueue/submitqueue/extension/pusher/git", visibility = ["//visibility:public"], deps = [ "//core/metrics", - "//entity", - "//entity/github", - "//extension/pusher", + "//submitqueue/entity", + "//submitqueue/entity/github", + "//submitqueue/extension/pusher", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -20,8 +20,8 @@ go_test( srcs = ["git_pusher_test.go"], embed = [":git"], deps = [ - "//entity", - "//extension/pusher", + "//submitqueue/entity", + "//submitqueue/extension/pusher", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/extension/pusher/git/git_pusher.go b/submitqueue/extension/pusher/git/git_pusher.go similarity index 98% rename from extension/pusher/git/git_pusher.go rename to submitqueue/extension/pusher/git/git_pusher.go index 2ff4b885a..5774948dc 100644 --- a/extension/pusher/git/git_pusher.go +++ b/submitqueue/extension/pusher/git/git_pusher.go @@ -62,9 +62,9 @@ import ( "go.uber.org/zap" coremetrics "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - entitygithub "github.com/uber/submitqueue/entity/github" - "github.com/uber/submitqueue/extension/pusher" + "github.com/uber/submitqueue/submitqueue/entity" + entitygithub "github.com/uber/submitqueue/submitqueue/entity/github" + "github.com/uber/submitqueue/submitqueue/extension/pusher" ) // defaultMaxPushAttempts caps the retry loop in Push when the remote tip diff --git a/extension/pusher/git/git_pusher_test.go b/submitqueue/extension/pusher/git/git_pusher_test.go similarity index 99% rename from extension/pusher/git/git_pusher_test.go rename to submitqueue/extension/pusher/git/git_pusher_test.go index c6b853efc..1248966e7 100644 --- a/extension/pusher/git/git_pusher_test.go +++ b/submitqueue/extension/pusher/git/git_pusher_test.go @@ -31,8 +31,8 @@ import ( "github.com/uber-go/tally/v4" "go.uber.org/zap/zaptest" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/pusher" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/pusher" ) // gitFixture provides a bare "remote" repository plus a working checkout diff --git a/extension/pusher/mock/BUILD.bazel b/submitqueue/extension/pusher/mock/BUILD.bazel similarity index 57% rename from extension/pusher/mock/BUILD.bazel rename to submitqueue/extension/pusher/mock/BUILD.bazel index 428c8724c..8bf808e48 100644 --- a/extension/pusher/mock/BUILD.bazel +++ b/submitqueue/extension/pusher/mock/BUILD.bazel @@ -3,11 +3,11 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "mock", srcs = ["pusher_mock.go"], - importpath = "github.com/uber/submitqueue/extension/pusher/mock", + importpath = "github.com/uber/submitqueue/submitqueue/extension/pusher/mock", visibility = ["//visibility:public"], deps = [ - "//entity", - "//extension/pusher", + "//submitqueue/entity", + "//submitqueue/extension/pusher", "@org_uber_go_mock//gomock", ], ) diff --git a/extension/pusher/mock/pusher_mock.go b/submitqueue/extension/pusher/mock/pusher_mock.go similarity index 92% rename from extension/pusher/mock/pusher_mock.go rename to submitqueue/extension/pusher/mock/pusher_mock.go index 6b0e66992..6ead5f515 100644 --- a/extension/pusher/mock/pusher_mock.go +++ b/submitqueue/extension/pusher/mock/pusher_mock.go @@ -13,8 +13,8 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" - pusher "github.com/uber/submitqueue/extension/pusher" + entity "github.com/uber/submitqueue/submitqueue/entity" + pusher "github.com/uber/submitqueue/submitqueue/extension/pusher" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/pusher/pusher.go b/submitqueue/extension/pusher/pusher.go similarity index 98% rename from extension/pusher/pusher.go rename to submitqueue/extension/pusher/pusher.go index 09bc9afc7..102ca2045 100644 --- a/extension/pusher/pusher.go +++ b/submitqueue/extension/pusher/pusher.go @@ -20,7 +20,7 @@ import ( "context" "errors" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // ErrConflict is returned by a Pusher when one of the changes fails to apply diff --git a/extension/queueconfig/BUILD.bazel b/submitqueue/extension/queueconfig/BUILD.bazel similarity index 57% rename from extension/queueconfig/BUILD.bazel rename to submitqueue/extension/queueconfig/BUILD.bazel index 27a152faa..6febfac18 100644 --- a/extension/queueconfig/BUILD.bazel +++ b/submitqueue/extension/queueconfig/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "queueconfig", srcs = ["queueconfig.go"], - importpath = "github.com/uber/submitqueue/extension/queueconfig", + importpath = "github.com/uber/submitqueue/submitqueue/extension/queueconfig", visibility = ["//visibility:public"], - deps = ["//entity"], + deps = ["//submitqueue/entity"], ) diff --git a/extension/queueconfig/README.md b/submitqueue/extension/queueconfig/README.md similarity index 100% rename from extension/queueconfig/README.md rename to submitqueue/extension/queueconfig/README.md diff --git a/extension/queueconfig/mock/BUILD.bazel b/submitqueue/extension/queueconfig/mock/BUILD.bazel similarity index 64% rename from extension/queueconfig/mock/BUILD.bazel rename to submitqueue/extension/queueconfig/mock/BUILD.bazel index a220d4090..71ed4a346 100644 --- a/extension/queueconfig/mock/BUILD.bazel +++ b/submitqueue/extension/queueconfig/mock/BUILD.bazel @@ -3,10 +3,10 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "mock", srcs = ["queueconfig_mock.go"], - importpath = "github.com/uber/submitqueue/extension/queueconfig/mock", + importpath = "github.com/uber/submitqueue/submitqueue/extension/queueconfig/mock", visibility = ["//visibility:public"], deps = [ - "//entity", + "//submitqueue/entity", "@org_uber_go_mock//gomock", ], ) diff --git a/extension/queueconfig/mock/queueconfig_mock.go b/submitqueue/extension/queueconfig/mock/queueconfig_mock.go similarity index 97% rename from extension/queueconfig/mock/queueconfig_mock.go rename to submitqueue/extension/queueconfig/mock/queueconfig_mock.go index e3717164c..070661b3a 100644 --- a/extension/queueconfig/mock/queueconfig_mock.go +++ b/submitqueue/extension/queueconfig/mock/queueconfig_mock.go @@ -13,7 +13,7 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" + entity "github.com/uber/submitqueue/submitqueue/entity" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/queueconfig/queueconfig.go b/submitqueue/extension/queueconfig/queueconfig.go similarity index 96% rename from extension/queueconfig/queueconfig.go rename to submitqueue/extension/queueconfig/queueconfig.go index d056d46df..0161ed1f9 100644 --- a/extension/queueconfig/queueconfig.go +++ b/submitqueue/extension/queueconfig/queueconfig.go @@ -20,7 +20,7 @@ import ( "context" "errors" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // ErrNotFound is returned when the requested queue configuration does not exist. diff --git a/extension/queueconfig/yaml/BUILD.bazel b/submitqueue/extension/queueconfig/yaml/BUILD.bazel similarity index 66% rename from extension/queueconfig/yaml/BUILD.bazel rename to submitqueue/extension/queueconfig/yaml/BUILD.bazel index 21c069576..28696a1dd 100644 --- a/extension/queueconfig/yaml/BUILD.bazel +++ b/submitqueue/extension/queueconfig/yaml/BUILD.bazel @@ -3,11 +3,11 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "yaml", srcs = ["yaml.go"], - importpath = "github.com/uber/submitqueue/extension/queueconfig/yaml", + importpath = "github.com/uber/submitqueue/submitqueue/extension/queueconfig/yaml", visibility = ["//visibility:public"], deps = [ - "//entity", - "//extension/queueconfig", + "//submitqueue/entity", + "//submitqueue/extension/queueconfig", "@in_gopkg_yaml_v3//:yaml_v3", ], ) @@ -17,7 +17,7 @@ go_test( srcs = ["yaml_test.go"], embed = [":yaml"], deps = [ - "//extension/queueconfig", + "//submitqueue/extension/queueconfig", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", ], diff --git a/extension/queueconfig/yaml/yaml.go b/submitqueue/extension/queueconfig/yaml/yaml.go similarity index 96% rename from extension/queueconfig/yaml/yaml.go rename to submitqueue/extension/queueconfig/yaml/yaml.go index ab339eeca..f8afa48db 100644 --- a/extension/queueconfig/yaml/yaml.go +++ b/submitqueue/extension/queueconfig/yaml/yaml.go @@ -22,8 +22,8 @@ import ( "fmt" "os" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/queueconfig" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/queueconfig" yamlv3 "gopkg.in/yaml.v3" ) diff --git a/extension/queueconfig/yaml/yaml_test.go b/submitqueue/extension/queueconfig/yaml/yaml_test.go similarity index 98% rename from extension/queueconfig/yaml/yaml_test.go rename to submitqueue/extension/queueconfig/yaml/yaml_test.go index a8bb21ec9..f10776274 100644 --- a/extension/queueconfig/yaml/yaml_test.go +++ b/submitqueue/extension/queueconfig/yaml/yaml_test.go @@ -23,7 +23,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "github.com/uber/submitqueue/extension/queueconfig" + "github.com/uber/submitqueue/submitqueue/extension/queueconfig" ) func writeTempYAML(t *testing.T, contents string) string { diff --git a/extension/scorer/BUILD.bazel b/submitqueue/extension/scorer/BUILD.bazel similarity index 56% rename from extension/scorer/BUILD.bazel rename to submitqueue/extension/scorer/BUILD.bazel index f5da4badc..564d3ae42 100644 --- a/extension/scorer/BUILD.bazel +++ b/submitqueue/extension/scorer/BUILD.bazel @@ -3,7 +3,7 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "scorer", srcs = ["scorer.go"], - importpath = "github.com/uber/submitqueue/extension/scorer", + importpath = "github.com/uber/submitqueue/submitqueue/extension/scorer", visibility = ["//visibility:public"], - deps = ["//entity"], + deps = ["//submitqueue/entity"], ) diff --git a/extension/scorer/README.md b/submitqueue/extension/scorer/README.md similarity index 100% rename from extension/scorer/README.md rename to submitqueue/extension/scorer/README.md diff --git a/extension/scorer/composite/BUILD.bazel b/submitqueue/extension/scorer/composite/BUILD.bazel similarity index 68% rename from extension/scorer/composite/BUILD.bazel rename to submitqueue/extension/scorer/composite/BUILD.bazel index 6dfef9b5f..f6272fcaf 100644 --- a/extension/scorer/composite/BUILD.bazel +++ b/submitqueue/extension/scorer/composite/BUILD.bazel @@ -3,12 +3,12 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "composite", srcs = ["scorer.go"], - importpath = "github.com/uber/submitqueue/extension/scorer/composite", + importpath = "github.com/uber/submitqueue/submitqueue/extension/scorer/composite", visibility = ["//visibility:public"], deps = [ "//core/metrics", - "//entity", - "//extension/scorer", + "//submitqueue/entity", + "//submitqueue/extension/scorer", "@com_github_uber_go_tally_v4//:tally", ], ) @@ -18,8 +18,8 @@ go_test( srcs = ["scorer_test.go"], embed = [":composite"], deps = [ - "//entity", - "//extension/scorer", + "//submitqueue/entity", + "//submitqueue/extension/scorer", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/extension/scorer/composite/scorer.go b/submitqueue/extension/scorer/composite/scorer.go similarity index 96% rename from extension/scorer/composite/scorer.go rename to submitqueue/extension/scorer/composite/scorer.go index 1060d1632..aa46e8e78 100644 --- a/extension/scorer/composite/scorer.go +++ b/submitqueue/extension/scorer/composite/scorer.go @@ -19,8 +19,8 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/scorer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/scorer" ) // ReduceFunc combines named scores into a single score. diff --git a/extension/scorer/composite/scorer_test.go b/submitqueue/extension/scorer/composite/scorer_test.go similarity index 97% rename from extension/scorer/composite/scorer_test.go rename to submitqueue/extension/scorer/composite/scorer_test.go index 06a83352b..2abec0a1b 100644 --- a/extension/scorer/composite/scorer_test.go +++ b/submitqueue/extension/scorer/composite/scorer_test.go @@ -22,8 +22,8 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/scorer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/scorer" ) // fixedScorer always returns a fixed score. diff --git a/extension/scorer/heuristic/BUILD.bazel b/submitqueue/extension/scorer/heuristic/BUILD.bazel similarity index 72% rename from extension/scorer/heuristic/BUILD.bazel rename to submitqueue/extension/scorer/heuristic/BUILD.bazel index f185c3d11..64bf4e874 100644 --- a/extension/scorer/heuristic/BUILD.bazel +++ b/submitqueue/extension/scorer/heuristic/BUILD.bazel @@ -3,12 +3,12 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "heuristic", srcs = ["scorer.go"], - importpath = "github.com/uber/submitqueue/extension/scorer/heuristic", + importpath = "github.com/uber/submitqueue/submitqueue/extension/scorer/heuristic", visibility = ["//visibility:public"], deps = [ "//core/metrics", - "//entity", - "//extension/scorer", + "//submitqueue/entity", + "//submitqueue/extension/scorer", "@com_github_uber_go_tally_v4//:tally", ], ) @@ -18,7 +18,7 @@ go_test( srcs = ["scorer_test.go"], embed = [":heuristic"], deps = [ - "//entity", + "//submitqueue/entity", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/extension/scorer/heuristic/scorer.go b/submitqueue/extension/scorer/heuristic/scorer.go similarity index 95% rename from extension/scorer/heuristic/scorer.go rename to submitqueue/extension/scorer/heuristic/scorer.go index 3beaf37db..94e81482d 100644 --- a/extension/scorer/heuristic/scorer.go +++ b/submitqueue/extension/scorer/heuristic/scorer.go @@ -20,8 +20,8 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/scorer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/scorer" ) // ValueFunc extracts a single numeric value from a Change for bucketing. diff --git a/extension/scorer/heuristic/scorer_test.go b/submitqueue/extension/scorer/heuristic/scorer_test.go similarity index 98% rename from extension/scorer/heuristic/scorer_test.go rename to submitqueue/extension/scorer/heuristic/scorer_test.go index d7fbccbfb..61c8cbf78 100644 --- a/extension/scorer/heuristic/scorer_test.go +++ b/submitqueue/extension/scorer/heuristic/scorer_test.go @@ -21,7 +21,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // staticValue returns a ValueFunc that always returns the given value. diff --git a/extension/scorer/mock/BUILD.bazel b/submitqueue/extension/scorer/mock/BUILD.bazel similarity index 64% rename from extension/scorer/mock/BUILD.bazel rename to submitqueue/extension/scorer/mock/BUILD.bazel index 5ab88d711..95b27c2bd 100644 --- a/extension/scorer/mock/BUILD.bazel +++ b/submitqueue/extension/scorer/mock/BUILD.bazel @@ -3,10 +3,10 @@ load("@rules_go//go:def.bzl", "go_library") go_library( name = "mock", srcs = ["scorer_mock.go"], - importpath = "github.com/uber/submitqueue/extension/scorer/mock", + importpath = "github.com/uber/submitqueue/submitqueue/extension/scorer/mock", visibility = ["//visibility:public"], deps = [ - "//entity", + "//submitqueue/entity", "@org_uber_go_mock//gomock", ], ) diff --git a/extension/scorer/mock/scorer_mock.go b/submitqueue/extension/scorer/mock/scorer_mock.go similarity index 96% rename from extension/scorer/mock/scorer_mock.go rename to submitqueue/extension/scorer/mock/scorer_mock.go index 24eff58fa..55a7245e6 100644 --- a/extension/scorer/mock/scorer_mock.go +++ b/submitqueue/extension/scorer/mock/scorer_mock.go @@ -13,7 +13,7 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" + entity "github.com/uber/submitqueue/submitqueue/entity" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/scorer/scorer.go b/submitqueue/extension/scorer/scorer.go similarity index 95% rename from extension/scorer/scorer.go rename to submitqueue/extension/scorer/scorer.go index 062003d3b..33dfe5c6d 100644 --- a/extension/scorer/scorer.go +++ b/submitqueue/extension/scorer/scorer.go @@ -19,7 +19,7 @@ package scorer import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // Scorer computes a success probability score for a change based on its characteristics. diff --git a/extension/storage/BUILD.bazel b/submitqueue/extension/storage/BUILD.bazel similarity index 77% rename from extension/storage/BUILD.bazel rename to submitqueue/extension/storage/BUILD.bazel index 85e4f7b9f..fe889fbcb 100644 --- a/extension/storage/BUILD.bazel +++ b/submitqueue/extension/storage/BUILD.bazel @@ -12,7 +12,7 @@ go_library( "speculation_tree_store.go", "storage.go", ], - importpath = "github.com/uber/submitqueue/extension/storage", + importpath = "github.com/uber/submitqueue/submitqueue/extension/storage", visibility = ["//visibility:public"], - deps = ["//entity"], + deps = ["//submitqueue/entity"], ) diff --git a/extension/storage/README.md b/submitqueue/extension/storage/README.md similarity index 100% rename from extension/storage/README.md rename to submitqueue/extension/storage/README.md diff --git a/extension/storage/batch_dependent_store.go b/submitqueue/extension/storage/batch_dependent_store.go similarity index 98% rename from extension/storage/batch_dependent_store.go rename to submitqueue/extension/storage/batch_dependent_store.go index 5fcdb2351..595afedc1 100644 --- a/extension/storage/batch_dependent_store.go +++ b/submitqueue/extension/storage/batch_dependent_store.go @@ -19,7 +19,7 @@ package storage import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // BatchDependentStore is an interface that defines methods for managing batch dependent information in the database. diff --git a/extension/storage/batch_store.go b/submitqueue/extension/storage/batch_store.go similarity index 97% rename from extension/storage/batch_store.go rename to submitqueue/extension/storage/batch_store.go index fa432e624..05e94fb82 100644 --- a/extension/storage/batch_store.go +++ b/submitqueue/extension/storage/batch_store.go @@ -19,7 +19,7 @@ package storage import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // BatchStore is an interface that defines methods for managing batches in the database. diff --git a/extension/storage/build_store.go b/submitqueue/extension/storage/build_store.go similarity index 96% rename from extension/storage/build_store.go rename to submitqueue/extension/storage/build_store.go index 7e32178b0..a2f89bc45 100644 --- a/extension/storage/build_store.go +++ b/submitqueue/extension/storage/build_store.go @@ -19,7 +19,7 @@ package storage import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // BuildStore is an interface that defines methods for managing builds in the database. diff --git a/extension/storage/change_provider_store.go b/submitqueue/extension/storage/change_provider_store.go similarity index 96% rename from extension/storage/change_provider_store.go rename to submitqueue/extension/storage/change_provider_store.go index de9caf6ec..326b4485f 100644 --- a/extension/storage/change_provider_store.go +++ b/submitqueue/extension/storage/change_provider_store.go @@ -19,7 +19,7 @@ package storage import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // ChangeProviderStore is an interface that defines methods for managing change provider information in the database. diff --git a/extension/storage/mock/BUILD.bazel b/submitqueue/extension/storage/mock/BUILD.bazel similarity index 75% rename from extension/storage/mock/BUILD.bazel rename to submitqueue/extension/storage/mock/BUILD.bazel index 9515b56c6..a8d2585a7 100644 --- a/extension/storage/mock/BUILD.bazel +++ b/submitqueue/extension/storage/mock/BUILD.bazel @@ -12,11 +12,11 @@ go_library( "speculation_tree_store_mock.go", "storage_mock.go", ], - importpath = "github.com/uber/submitqueue/extension/storage/mock", + importpath = "github.com/uber/submitqueue/submitqueue/extension/storage/mock", visibility = ["//visibility:public"], deps = [ - "//entity", - "//extension/storage", + "//submitqueue/entity", + "//submitqueue/extension/storage", "@org_uber_go_mock//gomock", ], ) diff --git a/extension/storage/mock/README.md b/submitqueue/extension/storage/mock/README.md similarity index 100% rename from extension/storage/mock/README.md rename to submitqueue/extension/storage/mock/README.md diff --git a/extension/storage/mock/batch_dependent_store_mock.go b/submitqueue/extension/storage/mock/batch_dependent_store_mock.go similarity index 98% rename from extension/storage/mock/batch_dependent_store_mock.go rename to submitqueue/extension/storage/mock/batch_dependent_store_mock.go index f29e6a5dc..bac3eb265 100644 --- a/extension/storage/mock/batch_dependent_store_mock.go +++ b/submitqueue/extension/storage/mock/batch_dependent_store_mock.go @@ -13,7 +13,7 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" + entity "github.com/uber/submitqueue/submitqueue/entity" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/storage/mock/batch_store_mock.go b/submitqueue/extension/storage/mock/batch_store_mock.go similarity index 98% rename from extension/storage/mock/batch_store_mock.go rename to submitqueue/extension/storage/mock/batch_store_mock.go index 87297303c..48b6bdaf5 100644 --- a/extension/storage/mock/batch_store_mock.go +++ b/submitqueue/extension/storage/mock/batch_store_mock.go @@ -13,7 +13,7 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" + entity "github.com/uber/submitqueue/submitqueue/entity" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/storage/mock/build_store_mock.go b/submitqueue/extension/storage/mock/build_store_mock.go similarity index 97% rename from extension/storage/mock/build_store_mock.go rename to submitqueue/extension/storage/mock/build_store_mock.go index 79fb1d734..675a2f587 100644 --- a/extension/storage/mock/build_store_mock.go +++ b/submitqueue/extension/storage/mock/build_store_mock.go @@ -13,7 +13,7 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" + entity "github.com/uber/submitqueue/submitqueue/entity" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/storage/mock/change_provider_store_mock.go b/submitqueue/extension/storage/mock/change_provider_store_mock.go similarity index 97% rename from extension/storage/mock/change_provider_store_mock.go rename to submitqueue/extension/storage/mock/change_provider_store_mock.go index 1a096a884..df1a7aa78 100644 --- a/extension/storage/mock/change_provider_store_mock.go +++ b/submitqueue/extension/storage/mock/change_provider_store_mock.go @@ -13,7 +13,7 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" + entity "github.com/uber/submitqueue/submitqueue/entity" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/storage/mock/request_log_store_mock.go b/submitqueue/extension/storage/mock/request_log_store_mock.go similarity index 97% rename from extension/storage/mock/request_log_store_mock.go rename to submitqueue/extension/storage/mock/request_log_store_mock.go index 593a241ac..82a4d2aef 100644 --- a/extension/storage/mock/request_log_store_mock.go +++ b/submitqueue/extension/storage/mock/request_log_store_mock.go @@ -13,7 +13,7 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" + entity "github.com/uber/submitqueue/submitqueue/entity" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/storage/mock/request_store_mock.go b/submitqueue/extension/storage/mock/request_store_mock.go similarity index 97% rename from extension/storage/mock/request_store_mock.go rename to submitqueue/extension/storage/mock/request_store_mock.go index 2c5bdeebf..f2a190665 100644 --- a/extension/storage/mock/request_store_mock.go +++ b/submitqueue/extension/storage/mock/request_store_mock.go @@ -13,7 +13,7 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" + entity "github.com/uber/submitqueue/submitqueue/entity" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/storage/mock/speculation_tree_store_mock.go b/submitqueue/extension/storage/mock/speculation_tree_store_mock.go similarity index 98% rename from extension/storage/mock/speculation_tree_store_mock.go rename to submitqueue/extension/storage/mock/speculation_tree_store_mock.go index a4aa52a51..e7fba22b0 100644 --- a/extension/storage/mock/speculation_tree_store_mock.go +++ b/submitqueue/extension/storage/mock/speculation_tree_store_mock.go @@ -13,7 +13,7 @@ import ( context "context" reflect "reflect" - entity "github.com/uber/submitqueue/entity" + entity "github.com/uber/submitqueue/submitqueue/entity" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/storage/mock/storage_mock.go b/submitqueue/extension/storage/mock/storage_mock.go similarity index 98% rename from extension/storage/mock/storage_mock.go rename to submitqueue/extension/storage/mock/storage_mock.go index c108689ab..ddf0574a3 100644 --- a/extension/storage/mock/storage_mock.go +++ b/submitqueue/extension/storage/mock/storage_mock.go @@ -12,7 +12,7 @@ package mock import ( reflect "reflect" - storage "github.com/uber/submitqueue/extension/storage" + storage "github.com/uber/submitqueue/submitqueue/extension/storage" gomock "go.uber.org/mock/gomock" ) diff --git a/extension/storage/mysql/BUILD.bazel b/submitqueue/extension/storage/mysql/BUILD.bazel similarity index 76% rename from extension/storage/mysql/BUILD.bazel rename to submitqueue/extension/storage/mysql/BUILD.bazel index df8f6f8fd..525df1565 100644 --- a/extension/storage/mysql/BUILD.bazel +++ b/submitqueue/extension/storage/mysql/BUILD.bazel @@ -12,12 +12,12 @@ go_library( "speculation_tree_store.go", "storage.go", ], - importpath = "github.com/uber/submitqueue/extension/storage/mysql", + importpath = "github.com/uber/submitqueue/submitqueue/extension/storage/mysql", visibility = ["//visibility:public"], deps = [ "//core/metrics", - "//entity", - "//extension/storage", + "//submitqueue/entity", + "//submitqueue/extension/storage", "@com_github_go_sql_driver_mysql//:mysql", "@com_github_uber_go_tally_v4//:tally", ], diff --git a/extension/storage/mysql/batch_dependent_store.go b/submitqueue/extension/storage/mysql/batch_dependent_store.go similarity index 97% rename from extension/storage/mysql/batch_dependent_store.go rename to submitqueue/extension/storage/mysql/batch_dependent_store.go index f7cc54a58..eeca563a8 100644 --- a/extension/storage/mysql/batch_dependent_store.go +++ b/submitqueue/extension/storage/mysql/batch_dependent_store.go @@ -25,8 +25,8 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" ) type batchDependentStore struct { diff --git a/extension/storage/mysql/batch_store.go b/submitqueue/extension/storage/mysql/batch_store.go similarity index 98% rename from extension/storage/mysql/batch_store.go rename to submitqueue/extension/storage/mysql/batch_store.go index b2eae76a9..05fb5d43c 100644 --- a/extension/storage/mysql/batch_store.go +++ b/submitqueue/extension/storage/mysql/batch_store.go @@ -26,8 +26,8 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" ) type batchStore struct { diff --git a/extension/storage/mysql/build_store.go b/submitqueue/extension/storage/mysql/build_store.go similarity index 97% rename from extension/storage/mysql/build_store.go rename to submitqueue/extension/storage/mysql/build_store.go index aac5ab03a..92233e6b2 100644 --- a/extension/storage/mysql/build_store.go +++ b/submitqueue/extension/storage/mysql/build_store.go @@ -25,8 +25,8 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" ) type buildStore struct { diff --git a/extension/storage/mysql/change_provider_store.go b/submitqueue/extension/storage/mysql/change_provider_store.go similarity index 97% rename from extension/storage/mysql/change_provider_store.go rename to submitqueue/extension/storage/mysql/change_provider_store.go index 93329e285..1ee52f34b 100644 --- a/extension/storage/mysql/change_provider_store.go +++ b/submitqueue/extension/storage/mysql/change_provider_store.go @@ -25,8 +25,8 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" ) type changeProviderStore struct { diff --git a/extension/storage/mysql/request_log_store.go b/submitqueue/extension/storage/mysql/request_log_store.go similarity index 97% rename from extension/storage/mysql/request_log_store.go rename to submitqueue/extension/storage/mysql/request_log_store.go index 679dfba81..42c981906 100644 --- a/extension/storage/mysql/request_log_store.go +++ b/submitqueue/extension/storage/mysql/request_log_store.go @@ -24,8 +24,8 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" ) type requestLogStore struct { diff --git a/extension/storage/mysql/request_store.go b/submitqueue/extension/storage/mysql/request_store.go similarity index 97% rename from extension/storage/mysql/request_store.go rename to submitqueue/extension/storage/mysql/request_store.go index 078cf9548..bc4e15220 100644 --- a/extension/storage/mysql/request_store.go +++ b/submitqueue/extension/storage/mysql/request_store.go @@ -25,8 +25,8 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" ) type requestStore struct { diff --git a/extension/storage/mysql/schema/BUILD.bazel b/submitqueue/extension/storage/mysql/schema/BUILD.bazel similarity index 100% rename from extension/storage/mysql/schema/BUILD.bazel rename to submitqueue/extension/storage/mysql/schema/BUILD.bazel diff --git a/extension/storage/mysql/schema/README.md b/submitqueue/extension/storage/mysql/schema/README.md similarity index 100% rename from extension/storage/mysql/schema/README.md rename to submitqueue/extension/storage/mysql/schema/README.md diff --git a/extension/storage/mysql/schema/batch.sql b/submitqueue/extension/storage/mysql/schema/batch.sql similarity index 100% rename from extension/storage/mysql/schema/batch.sql rename to submitqueue/extension/storage/mysql/schema/batch.sql diff --git a/extension/storage/mysql/schema/batch_dependent.sql b/submitqueue/extension/storage/mysql/schema/batch_dependent.sql similarity index 100% rename from extension/storage/mysql/schema/batch_dependent.sql rename to submitqueue/extension/storage/mysql/schema/batch_dependent.sql diff --git a/extension/storage/mysql/schema/build.sql b/submitqueue/extension/storage/mysql/schema/build.sql similarity index 100% rename from extension/storage/mysql/schema/build.sql rename to submitqueue/extension/storage/mysql/schema/build.sql diff --git a/extension/storage/mysql/schema/change_provider.sql b/submitqueue/extension/storage/mysql/schema/change_provider.sql similarity index 100% rename from extension/storage/mysql/schema/change_provider.sql rename to submitqueue/extension/storage/mysql/schema/change_provider.sql diff --git a/extension/storage/mysql/schema/request.sql b/submitqueue/extension/storage/mysql/schema/request.sql similarity index 100% rename from extension/storage/mysql/schema/request.sql rename to submitqueue/extension/storage/mysql/schema/request.sql diff --git a/extension/storage/mysql/schema/request_batch.sql b/submitqueue/extension/storage/mysql/schema/request_batch.sql similarity index 100% rename from extension/storage/mysql/schema/request_batch.sql rename to submitqueue/extension/storage/mysql/schema/request_batch.sql diff --git a/extension/storage/mysql/schema/request_log.sql b/submitqueue/extension/storage/mysql/schema/request_log.sql similarity index 100% rename from extension/storage/mysql/schema/request_log.sql rename to submitqueue/extension/storage/mysql/schema/request_log.sql diff --git a/extension/storage/mysql/schema/speculation_tree.sql b/submitqueue/extension/storage/mysql/schema/speculation_tree.sql similarity index 100% rename from extension/storage/mysql/schema/speculation_tree.sql rename to submitqueue/extension/storage/mysql/schema/speculation_tree.sql diff --git a/extension/storage/mysql/speculation_tree_store.go b/submitqueue/extension/storage/mysql/speculation_tree_store.go similarity index 97% rename from extension/storage/mysql/speculation_tree_store.go rename to submitqueue/extension/storage/mysql/speculation_tree_store.go index 893152b66..2f6b9b20d 100644 --- a/extension/storage/mysql/speculation_tree_store.go +++ b/submitqueue/extension/storage/mysql/speculation_tree_store.go @@ -25,8 +25,8 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" ) type speculationTreeStore struct { diff --git a/extension/storage/mysql/storage.go b/submitqueue/extension/storage/mysql/storage.go similarity index 98% rename from extension/storage/mysql/storage.go rename to submitqueue/extension/storage/mysql/storage.go index 3c0f11215..48d02031c 100644 --- a/extension/storage/mysql/storage.go +++ b/submitqueue/extension/storage/mysql/storage.go @@ -20,7 +20,7 @@ import ( _ "github.com/go-sql-driver/mysql" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/extension/storage" ) type mysqlStorage struct { diff --git a/extension/storage/request_log_store.go b/submitqueue/extension/storage/request_log_store.go similarity index 96% rename from extension/storage/request_log_store.go rename to submitqueue/extension/storage/request_log_store.go index cf2dc40e0..3ab2c5cc7 100644 --- a/extension/storage/request_log_store.go +++ b/submitqueue/extension/storage/request_log_store.go @@ -19,7 +19,7 @@ package storage import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // RequestLogStore is an interface that defines methods for managing request log records in an append-only database. diff --git a/extension/storage/request_store.go b/submitqueue/extension/storage/request_store.go similarity index 97% rename from extension/storage/request_store.go rename to submitqueue/extension/storage/request_store.go index 1abd87a26..fa3e7b27e 100644 --- a/extension/storage/request_store.go +++ b/submitqueue/extension/storage/request_store.go @@ -19,7 +19,7 @@ package storage import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // RequestStore is an interface that defines methods for managing land requests in the database. diff --git a/extension/storage/speculation_tree_store.go b/submitqueue/extension/storage/speculation_tree_store.go similarity index 96% rename from extension/storage/speculation_tree_store.go rename to submitqueue/extension/storage/speculation_tree_store.go index a6c7e4475..0b021bba7 100644 --- a/extension/storage/speculation_tree_store.go +++ b/submitqueue/extension/storage/speculation_tree_store.go @@ -19,7 +19,7 @@ package storage import ( "context" - "github.com/uber/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/entity" ) // SpeculationTreeStore is an interface that defines methods for managing speculation trees in the database. diff --git a/extension/storage/storage.go b/submitqueue/extension/storage/storage.go similarity index 100% rename from extension/storage/storage.go rename to submitqueue/extension/storage/storage.go diff --git a/gateway/README.md b/submitqueue/gateway/README.md similarity index 100% rename from gateway/README.md rename to submitqueue/gateway/README.md diff --git a/gateway/controller/BUILD.bazel b/submitqueue/gateway/controller/BUILD.bazel similarity index 56% rename from gateway/controller/BUILD.bazel rename to submitqueue/gateway/controller/BUILD.bazel index c4a3c4ce5..c6e3d0432 100644 --- a/gateway/controller/BUILD.bazel +++ b/submitqueue/gateway/controller/BUILD.bazel @@ -8,19 +8,19 @@ go_library( "ping.go", "status.go", ], - importpath = "github.com/uber/submitqueue/gateway/controller", + importpath = "github.com/uber/submitqueue/submitqueue/gateway/controller", visibility = ["//visibility:public"], deps = [ - "//core/consumer", "//core/errs", "//core/metrics", - "//core/request", - "//entity", "//entity/queue", - "//extension/counter", - "//extension/queueconfig", - "//extension/storage", - "//gateway/protopb", + "//submitqueue/core/consumer", + "//submitqueue/core/request", + "//submitqueue/entity", + "//submitqueue/extension/counter", + "//submitqueue/extension/queueconfig", + "//submitqueue/extension/storage", + "//submitqueue/gateway/protopb", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -36,17 +36,17 @@ go_test( ], embed = [":controller"], deps = [ - "//core/consumer", "//core/errs", - "//entity", "//entity/queue", - "//extension/counter/mock", "//extension/queue/mock", - "//extension/queueconfig", - "//extension/queueconfig/mock", - "//extension/storage", - "//extension/storage/mock", - "//gateway/protopb", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/counter/mock", + "//submitqueue/extension/queueconfig", + "//submitqueue/extension/queueconfig/mock", + "//submitqueue/extension/storage", + "//submitqueue/extension/storage/mock", + "//submitqueue/gateway/protopb", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/gateway/controller/cancel.go b/submitqueue/gateway/controller/cancel.go similarity index 96% rename from gateway/controller/cancel.go rename to submitqueue/gateway/controller/cancel.go index 47b2c7a29..49d456a19 100644 --- a/gateway/controller/cancel.go +++ b/submitqueue/gateway/controller/cancel.go @@ -20,12 +20,12 @@ import ( "time" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/storage" - pb "github.com/uber/submitqueue/gateway/protopb" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" + pb "github.com/uber/submitqueue/submitqueue/gateway/protopb" "go.uber.org/zap" ) diff --git a/gateway/controller/cancel_test.go b/submitqueue/gateway/controller/cancel_test.go similarity index 96% rename from gateway/controller/cancel_test.go rename to submitqueue/gateway/controller/cancel_test.go index efb7e014c..492e5773e 100644 --- a/gateway/controller/cancel_test.go +++ b/submitqueue/gateway/controller/cancel_test.go @@ -22,14 +22,14 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" queuemock "github.com/uber/submitqueue/extension/queue/mock" - "github.com/uber/submitqueue/extension/storage" - storagemock "github.com/uber/submitqueue/extension/storage/mock" - pb "github.com/uber/submitqueue/gateway/protopb" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" + pb "github.com/uber/submitqueue/submitqueue/gateway/protopb" "go.uber.org/mock/gomock" "go.uber.org/zap" ) diff --git a/gateway/controller/land.go b/submitqueue/gateway/controller/land.go similarity index 95% rename from gateway/controller/land.go rename to submitqueue/gateway/controller/land.go index 7ae3a4d09..60ac96fec 100644 --- a/gateway/controller/land.go +++ b/submitqueue/gateway/controller/land.go @@ -20,15 +20,15 @@ import ( "fmt" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/counter" - "github.com/uber/submitqueue/extension/queueconfig" - "github.com/uber/submitqueue/extension/storage" - pb "github.com/uber/submitqueue/gateway/protopb" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/counter" + "github.com/uber/submitqueue/submitqueue/extension/queueconfig" + "github.com/uber/submitqueue/submitqueue/extension/storage" + pb "github.com/uber/submitqueue/submitqueue/gateway/protopb" "go.uber.org/zap" ) diff --git a/gateway/controller/land_test.go b/submitqueue/gateway/controller/land_test.go similarity index 95% rename from gateway/controller/land_test.go rename to submitqueue/gateway/controller/land_test.go index 9f02276b2..2d4762e81 100644 --- a/gateway/controller/land_test.go +++ b/submitqueue/gateway/controller/land_test.go @@ -22,16 +22,16 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" - countermock "github.com/uber/submitqueue/extension/counter/mock" queuemock "github.com/uber/submitqueue/extension/queue/mock" - "github.com/uber/submitqueue/extension/queueconfig" - qcmock "github.com/uber/submitqueue/extension/queueconfig/mock" - storagemock "github.com/uber/submitqueue/extension/storage/mock" - pb "github.com/uber/submitqueue/gateway/protopb" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + countermock "github.com/uber/submitqueue/submitqueue/extension/counter/mock" + "github.com/uber/submitqueue/submitqueue/extension/queueconfig" + qcmock "github.com/uber/submitqueue/submitqueue/extension/queueconfig/mock" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" + pb "github.com/uber/submitqueue/submitqueue/gateway/protopb" "go.uber.org/mock/gomock" "go.uber.org/zap" ) diff --git a/gateway/controller/ping.go b/submitqueue/gateway/controller/ping.go similarity index 96% rename from gateway/controller/ping.go rename to submitqueue/gateway/controller/ping.go index 957a082c4..f657f096f 100644 --- a/gateway/controller/ping.go +++ b/submitqueue/gateway/controller/ping.go @@ -20,7 +20,7 @@ import ( "time" "github.com/uber-go/tally/v4" - pb "github.com/uber/submitqueue/gateway/protopb" + pb "github.com/uber/submitqueue/submitqueue/gateway/protopb" "go.uber.org/zap" ) diff --git a/gateway/controller/ping_test.go b/submitqueue/gateway/controller/ping_test.go similarity index 97% rename from gateway/controller/ping_test.go rename to submitqueue/gateway/controller/ping_test.go index 857358c3e..fd15194d6 100644 --- a/gateway/controller/ping_test.go +++ b/submitqueue/gateway/controller/ping_test.go @@ -22,7 +22,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - pb "github.com/uber/submitqueue/gateway/protopb" + pb "github.com/uber/submitqueue/submitqueue/gateway/protopb" "go.uber.org/zap" ) diff --git a/gateway/controller/status.go b/submitqueue/gateway/controller/status.go similarity index 94% rename from gateway/controller/status.go rename to submitqueue/gateway/controller/status.go index d28407db3..402d3b972 100644 --- a/gateway/controller/status.go +++ b/submitqueue/gateway/controller/status.go @@ -22,9 +22,9 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/core/request" - "github.com/uber/submitqueue/extension/storage" - pb "github.com/uber/submitqueue/gateway/protopb" + "github.com/uber/submitqueue/submitqueue/core/request" + "github.com/uber/submitqueue/submitqueue/extension/storage" + pb "github.com/uber/submitqueue/submitqueue/gateway/protopb" "go.uber.org/zap" ) diff --git a/gateway/controller/status_test.go b/submitqueue/gateway/controller/status_test.go similarity index 93% rename from gateway/controller/status_test.go rename to submitqueue/gateway/controller/status_test.go index 50aabd195..12d4fbbd1 100644 --- a/gateway/controller/status_test.go +++ b/submitqueue/gateway/controller/status_test.go @@ -23,10 +23,10 @@ import ( "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/storage" - storagemock "github.com/uber/submitqueue/extension/storage/mock" - pb "github.com/uber/submitqueue/gateway/protopb" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" + pb "github.com/uber/submitqueue/submitqueue/gateway/protopb" "go.uber.org/mock/gomock" "go.uber.org/zap" ) diff --git a/gateway/proto/BUILD.bazel b/submitqueue/gateway/proto/BUILD.bazel similarity index 76% rename from gateway/proto/BUILD.bazel rename to submitqueue/gateway/proto/BUILD.bazel index 3aab896d8..b4fff6c18 100644 --- a/gateway/proto/BUILD.bazel +++ b/submitqueue/gateway/proto/BUILD.bazel @@ -15,7 +15,7 @@ go_proto_library( "@rules_go//proto:go_proto", "@rules_go//proto:go_grpc_v2", ], - importpath = "github.com/uber/submitqueue/gateway/proto", + importpath = "github.com/uber/submitqueue/submitqueue/gateway/proto", proto = ":gatewaypb_proto", visibility = ["//visibility:public"], ) @@ -23,13 +23,13 @@ go_proto_library( go_library( name = "proto", embed = [":gatewaypb_go_proto"], - importpath = "github.com/uber/submitqueue/gateway/proto", + importpath = "github.com/uber/submitqueue/submitqueue/gateway/proto", visibility = ["//visibility:public"], ) go_library( name = "protopb", embed = [":gatewaypb_go_proto"], - importpath = "github.com/uber/submitqueue/gateway/protopb", + importpath = "github.com/uber/submitqueue/submitqueue/gateway/protopb", visibility = ["//visibility:public"], ) diff --git a/gateway/proto/gateway.proto b/submitqueue/gateway/proto/gateway.proto similarity index 99% rename from gateway/proto/gateway.proto rename to submitqueue/gateway/proto/gateway.proto index a5e108aee..e6482b373 100644 --- a/gateway/proto/gateway.proto +++ b/submitqueue/gateway/proto/gateway.proto @@ -16,7 +16,7 @@ syntax = "proto3"; package uber.submitqueue.gateway; -option go_package = "github.com/uber/submitqueue/gateway/protopb"; +option go_package = "github.com/uber/submitqueue/submitqueue/gateway/protopb"; option java_multiple_files = true; option java_outer_classname = "GatewayProto"; option java_package = "com.uber.submitqueue.gateway"; diff --git a/gateway/protopb/BUILD.bazel b/submitqueue/gateway/protopb/BUILD.bazel similarity index 91% rename from gateway/protopb/BUILD.bazel rename to submitqueue/gateway/protopb/BUILD.bazel index 841c6930a..b9a4d66c0 100644 --- a/gateway/protopb/BUILD.bazel +++ b/submitqueue/gateway/protopb/BUILD.bazel @@ -7,7 +7,7 @@ go_library( "gateway.pb.yarpc.go", "gateway_grpc.pb.go", ], - importpath = "github.com/uber/submitqueue/gateway/protopb", + importpath = "github.com/uber/submitqueue/submitqueue/gateway/protopb", visibility = ["//visibility:public"], deps = [ "@com_github_gogo_protobuf//jsonpb", diff --git a/gateway/protopb/gateway.pb.go b/submitqueue/gateway/protopb/gateway.pb.go similarity index 99% rename from gateway/protopb/gateway.pb.go rename to submitqueue/gateway/protopb/gateway.pb.go index 6af0b8561..85d1aff24 100644 --- a/gateway/protopb/gateway.pb.go +++ b/submitqueue/gateway/protopb/gateway.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v3.21.12 +// protoc v5.29.3 // source: gateway.proto package protopb @@ -800,8 +800,8 @@ const file_gateway_proto_rawDesc = "" + "\x04Ping\x12%.uber.submitqueue.gateway.PingRequest\x1a&.uber.submitqueue.gateway.PingResponse\"\x00\x12W\n" + "\x04Land\x12%.uber.submitqueue.gateway.LandRequest\x1a&.uber.submitqueue.gateway.LandResponse\"\x00\x12]\n" + "\x06Cancel\x12'.uber.submitqueue.gateway.CancelRequest\x1a(.uber.submitqueue.gateway.CancelResponse\"\x00\x12]\n" + - "\x06Status\x12'.uber.submitqueue.gateway.StatusRequest\x1a(.uber.submitqueue.gateway.StatusResponse\"\x00B[\n" + - "\x1ccom.uber.submitqueue.gatewayB\fGatewayProtoP\x01Z+github.com/uber/submitqueue/gateway/protopbb\x06proto3" + "\x06Status\x12'.uber.submitqueue.gateway.StatusRequest\x1a(.uber.submitqueue.gateway.StatusResponse\"\x00Bg\n" + + "\x1ccom.uber.submitqueue.gatewayB\fGatewayProtoP\x01Z7github.com/uber/submitqueue/submitqueue/gateway/protopbb\x06proto3" var ( file_gateway_proto_rawDescOnce sync.Once diff --git a/gateway/protopb/gateway.pb.yarpc.go b/submitqueue/gateway/protopb/gateway.pb.yarpc.go similarity index 77% rename from gateway/protopb/gateway.pb.yarpc.go rename to submitqueue/gateway/protopb/gateway.pb.yarpc.go index 57dc7f22c..faaa82172 100644 --- a/gateway/protopb/gateway.pb.yarpc.go +++ b/submitqueue/gateway/protopb/gateway.pb.yarpc.go @@ -383,47 +383,47 @@ var ( var yarpcFileDescriptorClosuref1a937782ebbded5 = [][]byte{ // gateway.proto []byte{ - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x6f, 0x6b, 0xd3, 0x40, - 0x18, 0x6f, 0x9a, 0x36, 0x6b, 0x9f, 0xb6, 0xa3, 0x1e, 0x63, 0x84, 0x32, 0xb1, 0x3b, 0xd1, 0x15, - 0x85, 0x14, 0x2a, 0xca, 0x70, 0x20, 0x74, 0x33, 0x9b, 0x2f, 0xb6, 0xb1, 0x25, 0x0e, 0x41, 0x91, - 0x71, 0x4d, 0x8f, 0x2c, 0xb8, 0x24, 0x5d, 0xee, 0x32, 0xa9, 0xaf, 0xf5, 0x63, 0xf8, 0xbd, 0xfc, - 0x38, 0x92, 0xbb, 0xcb, 0x96, 0x82, 0xc9, 0x5e, 0xf8, 0xee, 0x9e, 0xe7, 0x7e, 0xbf, 0xe7, 0xf9, - 0xdd, 0xf3, 0x27, 0x81, 0x9e, 0x4f, 0x38, 0xfd, 0x4e, 0x96, 0xd6, 0x22, 0x89, 0x79, 0x8c, 0xcc, - 0x74, 0x46, 0x13, 0x8b, 0xa5, 0xb3, 0x30, 0xe0, 0x37, 0x29, 0x4d, 0xa9, 0xa5, 0xee, 0xf1, 0x0e, - 0x74, 0xce, 0x82, 0xc8, 0x77, 0xe8, 0x4d, 0x4a, 0x19, 0x47, 0x26, 0xac, 0x85, 0x94, 0x31, 0xe2, - 0x53, 0x53, 0x1b, 0x6a, 0xa3, 0xb6, 0x93, 0x9b, 0xf8, 0x97, 0x06, 0x5d, 0x89, 0x64, 0x8b, 0x38, - 0x62, 0xb4, 0x1c, 0x8a, 0xb6, 0xa1, 0xcb, 0x68, 0x72, 0x1b, 0x78, 0xf4, 0x32, 0x22, 0x21, 0x35, - 0xeb, 0xe2, 0xba, 0xa3, 0x7c, 0xa7, 0x24, 0xa4, 0x68, 0x0b, 0xda, 0x3c, 0x08, 0x29, 0xe3, 0x24, - 0x5c, 0x98, 0xfa, 0x50, 0x1b, 0xe9, 0xce, 0xbd, 0x03, 0x0d, 0xa0, 0x75, 0x15, 0x33, 0x2e, 0xc8, - 0x0d, 0x41, 0xbe, 0xb3, 0xf1, 0x16, 0x18, 0x07, 0x57, 0x24, 0xf2, 0x29, 0x42, 0xd0, 0x48, 0x93, - 0x80, 0x99, 0xda, 0x50, 0x1f, 0xb5, 0x1d, 0x71, 0xc6, 0xbf, 0x35, 0xe8, 0x1c, 0x93, 0x68, 0x9e, - 0xbf, 0x67, 0x03, 0x9a, 0xe2, 0xbd, 0x4a, 0xa2, 0x34, 0xd0, 0x2e, 0x18, 0x9e, 0x88, 0x21, 0xa4, - 0x75, 0x26, 0x43, 0xab, 0xac, 0x3e, 0x96, 0xcc, 0xe5, 0x28, 0x3c, 0x7a, 0x07, 0x2d, 0xc6, 0x13, - 0xc2, 0xa9, 0xbf, 0x14, 0xca, 0xd6, 0x27, 0xb8, 0x9c, 0xeb, 0x2a, 0xa4, 0x73, 0xc7, 0xc1, 0x18, - 0xba, 0x52, 0x9e, 0x2a, 0x22, 0x82, 0x06, 0xbb, 0x09, 0xe6, 0x4a, 0x9e, 0x38, 0xe3, 0x3d, 0xe8, - 0x1d, 0x90, 0xc8, 0xa3, 0xd7, 0xf9, 0x23, 0xfe, 0x01, 0x42, 0x9b, 0x60, 0x24, 0x94, 0xb0, 0x38, - 0x52, 0xd5, 0x55, 0x16, 0xee, 0xc3, 0x7a, 0x4e, 0x96, 0x29, 0xf0, 0x53, 0xe8, 0xb9, 0x9c, 0xf0, - 0x94, 0x55, 0x84, 0xc3, 0x7f, 0x34, 0x58, 0xcf, 0x51, 0x4a, 0xda, 0x26, 0x18, 0x4c, 0x78, 0x14, - 0x50, 0x59, 0xe8, 0x31, 0xc0, 0x35, 0x61, 0xfc, 0x92, 0x26, 0x49, 0x9c, 0xa8, 0xec, 0xed, 0xcc, - 0x63, 0x67, 0x0e, 0xe4, 0x40, 0x2b, 0xa4, 0x9c, 0xcc, 0x09, 0x27, 0xa6, 0x3e, 0xd4, 0x47, 0x9d, - 0xc9, 0x9b, 0xaa, 0x0a, 0x15, 0x53, 0x5a, 0x27, 0x8a, 0x68, 0x47, 0x3c, 0x59, 0x3a, 0x77, 0x71, - 0x06, 0x7b, 0xd0, 0x5b, 0xb9, 0x42, 0x7d, 0xd0, 0xbf, 0xd1, 0xa5, 0x12, 0x96, 0x1d, 0xb3, 0x46, - 0xdf, 0x92, 0xeb, 0x34, 0x1f, 0x36, 0x69, 0xbc, 0xad, 0xef, 0x6a, 0x78, 0x1b, 0x9a, 0x52, 0x59, - 0xf9, 0x6c, 0x53, 0xd8, 0xbc, 0x88, 0x12, 0xea, 0xc5, 0x7e, 0x14, 0xfc, 0xa0, 0xf3, 0xf3, 0x4c, - 0xa3, 0xe4, 0xbc, 0x86, 0xa6, 0x7c, 0xa7, 0x26, 0x06, 0xe5, 0x49, 0xf9, 0x53, 0x04, 0xde, 0x91, - 0xe8, 0xfb, 0xb1, 0xab, 0x17, 0xc6, 0x0e, 0x13, 0xd8, 0x50, 0x3d, 0x38, 0x8d, 0xf9, 0x61, 0x9c, - 0x46, 0xf3, 0xff, 0x4a, 0x92, 0xf7, 0xb1, 0x7e, 0xdf, 0xc7, 0x17, 0x53, 0x68, 0xe5, 0x53, 0x87, - 0x3a, 0xb0, 0xf6, 0xde, 0x3e, 0x9c, 0x5e, 0x1c, 0x7f, 0xec, 0xd7, 0x10, 0x80, 0xe1, 0xd8, 0xfb, - 0x53, 0xd7, 0xee, 0x6b, 0xe8, 0x11, 0xf4, 0xdc, 0xf3, 0x8b, 0xa9, 0xfb, 0xe1, 0x52, 0xb9, 0xea, - 0xa8, 0x0d, 0xcd, 0x13, 0xdb, 0x39, 0xb2, 0xfb, 0xfa, 0xe4, 0xa7, 0x0e, 0xc8, 0x15, 0xb9, 0x45, - 0x1d, 0x8e, 0x64, 0x6a, 0xf4, 0x09, 0x1a, 0xd9, 0xfa, 0xa3, 0x67, 0xe5, 0xea, 0x0a, 0x1f, 0x92, - 0xc1, 0xf3, 0x87, 0x60, 0x6a, 0x3a, 0x6b, 0x59, 0xe0, 0x6c, 0x25, 0xaa, 0x02, 0x17, 0x36, 0xba, - 0x2a, 0x70, 0x71, 0xb3, 0x70, 0x0d, 0x7d, 0x05, 0x43, 0xae, 0x02, 0xda, 0xa9, 0xd8, 0xef, 0xe2, - 0xa6, 0x0d, 0x46, 0x0f, 0x03, 0x8b, 0xe1, 0xe5, 0xf8, 0x56, 0x85, 0x5f, 0xd9, 0xbc, 0xaa, 0xf0, - 0xab, 0x9b, 0x80, 0x6b, 0xfb, 0x5f, 0x60, 0xcb, 0x8b, 0xc3, 0x52, 0xc2, 0x7e, 0x57, 0x35, 0xe6, - 0x2c, 0xfb, 0xc0, 0x9f, 0x69, 0x9f, 0x5f, 0xfa, 0x01, 0xbf, 0x4a, 0x67, 0x96, 0x17, 0x87, 0xe3, - 0x8c, 0x34, 0x2e, 0x90, 0xc6, 0x8a, 0x34, 0x16, 0x7f, 0x83, 0xc5, 0x6c, 0x66, 0x88, 0xc3, 0xab, - 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x0f, 0xb5, 0x0b, 0x6e, 0x27, 0x06, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x55, 0x51, 0x6b, 0xdb, 0x3c, + 0x14, 0x8d, 0xe3, 0xc4, 0x4d, 0xae, 0x93, 0x92, 0x4f, 0x94, 0x62, 0x42, 0x3f, 0x96, 0x6a, 0x6c, + 0x0d, 0x7b, 0x70, 0x21, 0x63, 0x5b, 0x59, 0x61, 0x90, 0x76, 0x6e, 0xf7, 0xd0, 0x96, 0xd6, 0x5e, + 0x19, 0x0c, 0x46, 0x51, 0x1c, 0xe1, 0x9a, 0xd5, 0x76, 0x6a, 0xc9, 0x1d, 0xd9, 0xf3, 0xf6, 0x33, + 0xf6, 0xbf, 0xf6, 0x73, 0x86, 0x25, 0xb9, 0x75, 0x60, 0x76, 0x1f, 0xf6, 0xa6, 0x7b, 0x75, 0xce, + 0xb9, 0x47, 0xd2, 0xbd, 0x36, 0xf4, 0x03, 0xc2, 0xe9, 0x37, 0xb2, 0xb4, 0x17, 0x69, 0xc2, 0x13, + 0x64, 0x65, 0x33, 0x9a, 0xda, 0x2c, 0x9b, 0x45, 0x21, 0xbf, 0xcd, 0x68, 0x46, 0x6d, 0xb5, 0x8f, + 0x77, 0xc0, 0x3c, 0x0f, 0xe3, 0xc0, 0xa5, 0xb7, 0x19, 0x65, 0x1c, 0x59, 0xb0, 0x16, 0x51, 0xc6, + 0x48, 0x40, 0x2d, 0x6d, 0xa4, 0x8d, 0xbb, 0x6e, 0x11, 0xe2, 0x9f, 0x1a, 0xf4, 0x24, 0x92, 0x2d, + 0x92, 0x98, 0xd1, 0x6a, 0x28, 0xda, 0x86, 0x1e, 0xa3, 0xe9, 0x5d, 0xe8, 0xd3, 0xab, 0x98, 0x44, + 0xd4, 0x6a, 0x8a, 0x6d, 0x53, 0xe5, 0xce, 0x48, 0x44, 0xd1, 0x16, 0x74, 0x79, 0x18, 0x51, 0xc6, + 0x49, 0xb4, 0xb0, 0xf4, 0x91, 0x36, 0xd6, 0xdd, 0x87, 0x04, 0x1a, 0x42, 0xe7, 0x3a, 0x61, 0x5c, + 0x90, 0x5b, 0x82, 0x7c, 0x1f, 0xe3, 0x2d, 0x30, 0x0e, 0xaf, 0x49, 0x1c, 0x50, 0x84, 0xa0, 0x95, + 0xa5, 0x21, 0xb3, 0xb4, 0x91, 0x3e, 0xee, 0xba, 0x62, 0x8d, 0x7f, 0x69, 0x60, 0x9e, 0x90, 0x78, + 0x5e, 0x9c, 0x67, 0x03, 0xda, 0xe2, 0xbc, 0xca, 0xa2, 0x0c, 0xd0, 0x1e, 0x18, 0xbe, 0xd0, 0x10, + 0xd6, 0xcc, 0xc9, 0xc8, 0xae, 0xba, 0x1f, 0x5b, 0xd6, 0x72, 0x15, 0x1e, 0xbd, 0x83, 0x0e, 0xe3, + 0x29, 0xe1, 0x34, 0x58, 0x0a, 0x67, 0xeb, 0x13, 0x5c, 0xcd, 0xf5, 0x14, 0xd2, 0xbd, 0xe7, 0x60, + 0x0c, 0x3d, 0x69, 0x4f, 0x5d, 0x22, 0x82, 0x16, 0xbb, 0x0d, 0xe7, 0xca, 0x9e, 0x58, 0xe3, 0x7d, + 0xe8, 0x1f, 0x92, 0xd8, 0xa7, 0x37, 0xc5, 0x21, 0xfe, 0x02, 0x42, 0x9b, 0x60, 0xa4, 0x94, 0xb0, + 0x24, 0x56, 0xb7, 0xab, 0x22, 0x3c, 0x80, 0xf5, 0x82, 0x2c, 0x4b, 0xe0, 0xa7, 0xd0, 0xf7, 0x38, + 0xe1, 0x19, 0xab, 0x91, 0xc3, 0xbf, 0x35, 0x58, 0x2f, 0x50, 0xca, 0xda, 0x26, 0x18, 0x4c, 0x64, + 0x14, 0x50, 0x45, 0xe8, 0x7f, 0x80, 0x1b, 0xc2, 0xf8, 0x15, 0x4d, 0xd3, 0x24, 0x55, 0xd5, 0xbb, + 0x79, 0xc6, 0xc9, 0x13, 0xc8, 0x85, 0x4e, 0x44, 0x39, 0x99, 0x13, 0x4e, 0x2c, 0x7d, 0xa4, 0x8f, + 0xcd, 0xc9, 0xeb, 0xba, 0x1b, 0x2a, 0x97, 0xb4, 0x4f, 0x15, 0xd1, 0x89, 0x79, 0xba, 0x74, 0xef, + 0x75, 0x86, 0xfb, 0xd0, 0x5f, 0xd9, 0x42, 0x03, 0xd0, 0xbf, 0xd2, 0xa5, 0x32, 0x96, 0x2f, 0xf3, + 0x87, 0xbe, 0x23, 0x37, 0x59, 0xd1, 0x6c, 0x32, 0x78, 0xdb, 0xdc, 0xd3, 0xf0, 0x36, 0xb4, 0xa5, + 0xb3, 0xea, 0xde, 0xa6, 0xb0, 0x79, 0x19, 0xa7, 0xd4, 0x4f, 0x82, 0x38, 0xfc, 0x4e, 0xe7, 0x17, + 0xb9, 0x47, 0xc9, 0x79, 0x05, 0x6d, 0x79, 0x4e, 0x4d, 0x34, 0xca, 0x93, 0xea, 0xa3, 0x08, 0xbc, + 0x2b, 0xd1, 0x0f, 0x6d, 0xd7, 0x2c, 0xb5, 0x1d, 0x26, 0xb0, 0xa1, 0xde, 0xe0, 0x2c, 0xe1, 0x47, + 0x49, 0x16, 0xcf, 0xff, 0xa9, 0x48, 0xf1, 0x8e, 0xcd, 0x87, 0x77, 0x7c, 0x31, 0x85, 0x4e, 0xd1, + 0x75, 0xc8, 0x84, 0xb5, 0xf7, 0xce, 0xd1, 0xf4, 0xf2, 0xe4, 0xe3, 0xa0, 0x81, 0x00, 0x0c, 0xd7, + 0x39, 0x98, 0x7a, 0xce, 0x40, 0x43, 0xff, 0x41, 0xdf, 0xbb, 0xb8, 0x9c, 0x7a, 0x1f, 0xae, 0x54, + 0xaa, 0x89, 0xba, 0xd0, 0x3e, 0x75, 0xdc, 0x63, 0x67, 0xa0, 0x4f, 0x7e, 0xe8, 0x80, 0x3c, 0x51, + 0x5b, 0xdc, 0xc3, 0xb1, 0x2c, 0x8d, 0x3e, 0x41, 0x2b, 0x1f, 0x7f, 0xf4, 0xac, 0xda, 0x5d, 0xe9, + 0x43, 0x32, 0x7c, 0xfe, 0x18, 0x4c, 0x75, 0x67, 0x23, 0x17, 0xce, 0x47, 0xa2, 0x4e, 0xb8, 0x34, + 0xd1, 0x75, 0xc2, 0xe5, 0xc9, 0xc2, 0x0d, 0xf4, 0x05, 0x0c, 0x39, 0x0a, 0x68, 0xa7, 0x66, 0xbe, + 0xcb, 0x93, 0x36, 0x1c, 0x3f, 0x0e, 0x2c, 0xcb, 0xcb, 0xf6, 0xad, 0x93, 0x5f, 0x99, 0xbc, 0x3a, + 0xf9, 0xd5, 0x49, 0xc0, 0x8d, 0x83, 0x00, 0xb6, 0xfc, 0x24, 0xaa, 0x24, 0x1c, 0xf4, 0xd4, 0xc3, + 0x9c, 0xe7, 0x1f, 0xf8, 0x73, 0xed, 0xf3, 0x9b, 0x20, 0xe4, 0xd7, 0xd9, 0xcc, 0xf6, 0x93, 0x68, + 0x37, 0x27, 0xed, 0x96, 0x48, 0x2b, 0x6b, 0x25, 0xb0, 0x2b, 0xfe, 0x0c, 0x8b, 0xd9, 0xcc, 0x10, + 0x8b, 0x97, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff, 0x0c, 0x41, 0x0f, 0xf0, 0x33, 0x06, 0x00, 0x00, }, } diff --git a/gateway/protopb/gateway_grpc.pb.go b/submitqueue/gateway/protopb/gateway_grpc.pb.go similarity index 99% rename from gateway/protopb/gateway_grpc.pb.go rename to submitqueue/gateway/protopb/gateway_grpc.pb.go index 192e55a97..f271309f6 100644 --- a/gateway/protopb/gateway_grpc.pb.go +++ b/submitqueue/gateway/protopb/gateway_grpc.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.5.1 -// - protoc v3.21.12 +// - protoc v5.29.3 // source: gateway.proto package protopb diff --git a/orchestrator/README.md b/submitqueue/orchestrator/README.md similarity index 100% rename from orchestrator/README.md rename to submitqueue/orchestrator/README.md diff --git a/orchestrator/controller/BUILD.bazel b/submitqueue/orchestrator/controller/BUILD.bazel similarity index 76% rename from orchestrator/controller/BUILD.bazel rename to submitqueue/orchestrator/controller/BUILD.bazel index 7b6334b6b..200bfe878 100644 --- a/orchestrator/controller/BUILD.bazel +++ b/submitqueue/orchestrator/controller/BUILD.bazel @@ -3,11 +3,11 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "controller", srcs = ["ping.go"], - importpath = "github.com/uber/submitqueue/orchestrator/controller", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/controller", visibility = ["//visibility:public"], deps = [ "//core/metrics", - "//orchestrator/protopb", + "//submitqueue/orchestrator/protopb", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -18,7 +18,7 @@ go_test( srcs = ["ping_test.go"], embed = [":controller"], deps = [ - "//orchestrator/protopb", + "//submitqueue/orchestrator/protopb", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/orchestrator/controller/batch/BUILD.bazel b/submitqueue/orchestrator/controller/batch/BUILD.bazel similarity index 52% rename from orchestrator/controller/batch/BUILD.bazel rename to submitqueue/orchestrator/controller/batch/BUILD.bazel index d46674e63..4af0fa02d 100644 --- a/orchestrator/controller/batch/BUILD.bazel +++ b/submitqueue/orchestrator/controller/batch/BUILD.bazel @@ -3,16 +3,16 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "batch", srcs = ["batch.go"], - importpath = "github.com/uber/submitqueue/orchestrator/controller/batch", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/controller/batch", visibility = ["//visibility:public"], deps = [ - "//core/consumer", "//core/metrics", - "//entity", "//entity/queue", - "//extension/conflict", - "//extension/counter", - "//extension/storage", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/conflict", + "//submitqueue/extension/counter", + "//submitqueue/extension/storage", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -23,16 +23,16 @@ go_test( srcs = ["batch_test.go"], embed = [":batch"], deps = [ - "//core/consumer", - "//entity", "//entity/queue", - "//extension/conflict", - "//extension/conflict/all", - "//extension/conflict/mock", - "//extension/counter/mock", "//extension/queue/mock", - "//extension/storage", - "//extension/storage/mock", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/conflict", + "//submitqueue/extension/conflict/all", + "//submitqueue/extension/conflict/mock", + "//submitqueue/extension/counter/mock", + "//submitqueue/extension/storage", + "//submitqueue/extension/storage/mock", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/orchestrator/controller/batch/batch.go b/submitqueue/orchestrator/controller/batch/batch.go similarity index 97% rename from orchestrator/controller/batch/batch.go rename to submitqueue/orchestrator/controller/batch/batch.go index 2d8b8eb38..cbfa98578 100644 --- a/orchestrator/controller/batch/batch.go +++ b/submitqueue/orchestrator/controller/batch/batch.go @@ -20,13 +20,13 @@ import ( "fmt" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" entityqueue "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/conflict" - "github.com/uber/submitqueue/extension/counter" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/conflict" + "github.com/uber/submitqueue/submitqueue/extension/counter" + "github.com/uber/submitqueue/submitqueue/extension/storage" "go.uber.org/zap" ) diff --git a/orchestrator/controller/batch/batch_test.go b/submitqueue/orchestrator/controller/batch/batch_test.go similarity index 97% rename from orchestrator/controller/batch/batch_test.go rename to submitqueue/orchestrator/controller/batch/batch_test.go index ed90c0b67..1209e191b 100644 --- a/orchestrator/controller/batch/batch_test.go +++ b/submitqueue/orchestrator/controller/batch/batch_test.go @@ -24,16 +24,16 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/conflict" - "github.com/uber/submitqueue/extension/conflict/all" - conflictmock "github.com/uber/submitqueue/extension/conflict/mock" - countermock "github.com/uber/submitqueue/extension/counter/mock" queuemock "github.com/uber/submitqueue/extension/queue/mock" - "github.com/uber/submitqueue/extension/storage" - storagemock "github.com/uber/submitqueue/extension/storage/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/conflict" + "github.com/uber/submitqueue/submitqueue/extension/conflict/all" + conflictmock "github.com/uber/submitqueue/submitqueue/extension/conflict/mock" + countermock "github.com/uber/submitqueue/submitqueue/extension/counter/mock" + "github.com/uber/submitqueue/submitqueue/extension/storage" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" "go.uber.org/mock/gomock" "go.uber.org/zap/zaptest" ) diff --git a/orchestrator/controller/build/BUILD.bazel b/submitqueue/orchestrator/controller/build/BUILD.bazel similarity index 56% rename from orchestrator/controller/build/BUILD.bazel rename to submitqueue/orchestrator/controller/build/BUILD.bazel index a7ffcd70d..6c2878469 100644 --- a/orchestrator/controller/build/BUILD.bazel +++ b/submitqueue/orchestrator/controller/build/BUILD.bazel @@ -3,15 +3,15 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "build", srcs = ["build.go"], - importpath = "github.com/uber/submitqueue/orchestrator/controller/build", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/controller/build", visibility = ["//visibility:public"], deps = [ - "//core/consumer", "//core/metrics", - "//entity", "//entity/queue", - "//extension/buildrunner", - "//extension/storage", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/buildrunner", + "//submitqueue/extension/storage", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -22,16 +22,16 @@ go_test( srcs = ["build_test.go"], embed = [":build"], deps = [ - "//core/consumer", "//core/errs", - "//entity", "//entity/queue", - "//extension/buildrunner", - "//extension/buildrunner/mock", - "//extension/buildrunner/noop", "//extension/queue/mock", - "//extension/storage", - "//extension/storage/mock", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/buildrunner", + "//submitqueue/extension/buildrunner/mock", + "//submitqueue/extension/buildrunner/noop", + "//submitqueue/extension/storage", + "//submitqueue/extension/storage/mock", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/orchestrator/controller/build/build.go b/submitqueue/orchestrator/controller/build/build.go similarity index 97% rename from orchestrator/controller/build/build.go rename to submitqueue/orchestrator/controller/build/build.go index 984cf6918..c68c1ce04 100644 --- a/orchestrator/controller/build/build.go +++ b/submitqueue/orchestrator/controller/build/build.go @@ -20,12 +20,12 @@ import ( "fmt" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" entityqueue "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/buildrunner" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/buildrunner" + "github.com/uber/submitqueue/submitqueue/extension/storage" "go.uber.org/zap" ) diff --git a/orchestrator/controller/build/build_test.go b/submitqueue/orchestrator/controller/build/build_test.go similarity index 97% rename from orchestrator/controller/build/build_test.go rename to submitqueue/orchestrator/controller/build/build_test.go index 143efaed1..d8c0d2e65 100644 --- a/orchestrator/controller/build/build_test.go +++ b/submitqueue/orchestrator/controller/build/build_test.go @@ -22,16 +22,16 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/buildrunner" - buildrunnermock "github.com/uber/submitqueue/extension/buildrunner/mock" - buildnoop "github.com/uber/submitqueue/extension/buildrunner/noop" queuemock "github.com/uber/submitqueue/extension/queue/mock" - "github.com/uber/submitqueue/extension/storage" - storagemock "github.com/uber/submitqueue/extension/storage/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/buildrunner" + buildrunnermock "github.com/uber/submitqueue/submitqueue/extension/buildrunner/mock" + buildnoop "github.com/uber/submitqueue/submitqueue/extension/buildrunner/noop" + "github.com/uber/submitqueue/submitqueue/extension/storage" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" "go.uber.org/mock/gomock" "go.uber.org/zap/zaptest" ) diff --git a/orchestrator/controller/buildsignal/BUILD.bazel b/submitqueue/orchestrator/controller/buildsignal/BUILD.bazel similarity index 64% rename from orchestrator/controller/buildsignal/BUILD.bazel rename to submitqueue/orchestrator/controller/buildsignal/BUILD.bazel index 4c8d48e82..4fffb4ad6 100644 --- a/orchestrator/controller/buildsignal/BUILD.bazel +++ b/submitqueue/orchestrator/controller/buildsignal/BUILD.bazel @@ -3,16 +3,16 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "buildsignal", srcs = ["buildsignal.go"], - importpath = "github.com/uber/submitqueue/orchestrator/controller/buildsignal", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/controller/buildsignal", visibility = ["//visibility:public"], deps = [ - "//core/consumer", "//core/errs", "//core/metrics", - "//entity", "//entity/queue", - "//extension/buildrunner", - "//extension/storage", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/buildrunner", + "//submitqueue/extension/storage", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -23,13 +23,13 @@ go_test( srcs = ["buildsignal_test.go"], embed = [":buildsignal"], deps = [ - "//core/consumer", "//core/errs", - "//entity", "//entity/queue", - "//extension/buildrunner/mock", "//extension/queue/mock", - "//extension/storage/mock", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/buildrunner/mock", + "//submitqueue/extension/storage/mock", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/orchestrator/controller/buildsignal/buildsignal.go b/submitqueue/orchestrator/controller/buildsignal/buildsignal.go similarity index 97% rename from orchestrator/controller/buildsignal/buildsignal.go rename to submitqueue/orchestrator/controller/buildsignal/buildsignal.go index 717be5be2..7fddfad45 100644 --- a/orchestrator/controller/buildsignal/buildsignal.go +++ b/submitqueue/orchestrator/controller/buildsignal/buildsignal.go @@ -27,13 +27,13 @@ import ( "fmt" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" entityqueue "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/buildrunner" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/buildrunner" + "github.com/uber/submitqueue/submitqueue/extension/storage" "go.uber.org/zap" ) diff --git a/orchestrator/controller/buildsignal/buildsignal_test.go b/submitqueue/orchestrator/controller/buildsignal/buildsignal_test.go similarity index 97% rename from orchestrator/controller/buildsignal/buildsignal_test.go rename to submitqueue/orchestrator/controller/buildsignal/buildsignal_test.go index 83fd9841b..0d24d32ae 100644 --- a/orchestrator/controller/buildsignal/buildsignal_test.go +++ b/submitqueue/orchestrator/controller/buildsignal/buildsignal_test.go @@ -22,13 +22,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/entity" entityqueue "github.com/uber/submitqueue/entity/queue" - buildrunnermock "github.com/uber/submitqueue/extension/buildrunner/mock" queuemock "github.com/uber/submitqueue/extension/queue/mock" - storagemock "github.com/uber/submitqueue/extension/storage/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + buildrunnermock "github.com/uber/submitqueue/submitqueue/extension/buildrunner/mock" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" "go.uber.org/mock/gomock" "go.uber.org/zap/zaptest" ) diff --git a/orchestrator/controller/cancel/BUILD.bazel b/submitqueue/orchestrator/controller/cancel/BUILD.bazel similarity index 62% rename from orchestrator/controller/cancel/BUILD.bazel rename to submitqueue/orchestrator/controller/cancel/BUILD.bazel index 24ade4dcc..a0e20ab80 100644 --- a/orchestrator/controller/cancel/BUILD.bazel +++ b/submitqueue/orchestrator/controller/cancel/BUILD.bazel @@ -3,14 +3,14 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "cancel", srcs = ["cancel.go"], - importpath = "github.com/uber/submitqueue/orchestrator/controller/cancel", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/controller/cancel", visibility = ["//visibility:public"], deps = [ - "//core/consumer", - "//core/request", - "//entity", "//entity/queue", - "//extension/storage", + "//submitqueue/core/consumer", + "//submitqueue/core/request", + "//submitqueue/entity", + "//submitqueue/extension/storage", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -21,12 +21,12 @@ go_test( srcs = ["cancel_test.go"], embed = [":cancel"], deps = [ - "//core/consumer", - "//entity", "//entity/queue", "//extension/queue/mock", - "//extension/storage", - "//extension/storage/mock", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/storage", + "//submitqueue/extension/storage/mock", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/orchestrator/controller/cancel/cancel.go b/submitqueue/orchestrator/controller/cancel/cancel.go similarity index 98% rename from orchestrator/controller/cancel/cancel.go rename to submitqueue/orchestrator/controller/cancel/cancel.go index 431939efc..d17cbe95a 100644 --- a/orchestrator/controller/cancel/cancel.go +++ b/submitqueue/orchestrator/controller/cancel/cancel.go @@ -59,11 +59,11 @@ import ( "fmt" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" - corerequest "github.com/uber/submitqueue/core/request" - "github.com/uber/submitqueue/entity" entityqueue "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/core/consumer" + corerequest "github.com/uber/submitqueue/submitqueue/core/request" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" "go.uber.org/zap" ) diff --git a/orchestrator/controller/cancel/cancel_test.go b/submitqueue/orchestrator/controller/cancel/cancel_test.go similarity index 98% rename from orchestrator/controller/cancel/cancel_test.go rename to submitqueue/orchestrator/controller/cancel/cancel_test.go index 7b280954a..360a8d8e5 100644 --- a/orchestrator/controller/cancel/cancel_test.go +++ b/submitqueue/orchestrator/controller/cancel/cancel_test.go @@ -22,12 +22,12 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" queuemock "github.com/uber/submitqueue/extension/queue/mock" - "github.com/uber/submitqueue/extension/storage" - storagemock "github.com/uber/submitqueue/extension/storage/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" "go.uber.org/mock/gomock" "go.uber.org/zap/zaptest" ) diff --git a/orchestrator/controller/conclude/BUILD.bazel b/submitqueue/orchestrator/controller/conclude/BUILD.bazel similarity index 65% rename from orchestrator/controller/conclude/BUILD.bazel rename to submitqueue/orchestrator/controller/conclude/BUILD.bazel index 4e39e77cb..99da6e9d5 100644 --- a/orchestrator/controller/conclude/BUILD.bazel +++ b/submitqueue/orchestrator/controller/conclude/BUILD.bazel @@ -3,13 +3,13 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "conclude", srcs = ["conclude.go"], - importpath = "github.com/uber/submitqueue/orchestrator/controller/conclude", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/controller/conclude", visibility = ["//visibility:public"], deps = [ - "//core/consumer", "//core/metrics", - "//entity", - "//extension/storage", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/storage", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -20,13 +20,13 @@ go_test( srcs = ["conclude_test.go"], embed = [":conclude"], deps = [ - "//core/consumer", "//core/errs", - "//entity", "//entity/queue", "//extension/queue/mock", - "//extension/storage", - "//extension/storage/mock", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/storage", + "//submitqueue/extension/storage/mock", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/orchestrator/controller/conclude/conclude.go b/submitqueue/orchestrator/controller/conclude/conclude.go similarity index 96% rename from orchestrator/controller/conclude/conclude.go rename to submitqueue/orchestrator/controller/conclude/conclude.go index 3c37bf878..21a232705 100644 --- a/orchestrator/controller/conclude/conclude.go +++ b/submitqueue/orchestrator/controller/conclude/conclude.go @@ -19,10 +19,10 @@ import ( "fmt" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" "go.uber.org/zap" ) diff --git a/orchestrator/controller/conclude/conclude_test.go b/submitqueue/orchestrator/controller/conclude/conclude_test.go similarity index 98% rename from orchestrator/controller/conclude/conclude_test.go rename to submitqueue/orchestrator/controller/conclude/conclude_test.go index ed13a9b7d..d3f4cd6db 100644 --- a/orchestrator/controller/conclude/conclude_test.go +++ b/submitqueue/orchestrator/controller/conclude/conclude_test.go @@ -22,13 +22,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" queuemock "github.com/uber/submitqueue/extension/queue/mock" - "github.com/uber/submitqueue/extension/storage" - storagemock "github.com/uber/submitqueue/extension/storage/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" "go.uber.org/mock/gomock" "go.uber.org/zap/zaptest" ) diff --git a/orchestrator/controller/log/BUILD.bazel b/submitqueue/orchestrator/controller/log/BUILD.bazel similarity index 65% rename from orchestrator/controller/log/BUILD.bazel rename to submitqueue/orchestrator/controller/log/BUILD.bazel index 58258cac0..7d96b1f0a 100644 --- a/orchestrator/controller/log/BUILD.bazel +++ b/submitqueue/orchestrator/controller/log/BUILD.bazel @@ -3,13 +3,13 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "log", srcs = ["log.go"], - importpath = "github.com/uber/submitqueue/orchestrator/controller/log", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/controller/log", visibility = ["//visibility:public"], deps = [ - "//core/consumer", "//core/metrics", - "//entity", - "//extension/storage", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/storage", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -20,11 +20,11 @@ go_test( srcs = ["log_test.go"], embed = [":log"], deps = [ - "//core/consumer", - "//entity", "//entity/queue", "//extension/queue/mock", - "//extension/storage/mock", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/storage/mock", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_mock//gomock", diff --git a/orchestrator/controller/log/log.go b/submitqueue/orchestrator/controller/log/log.go similarity index 95% rename from orchestrator/controller/log/log.go rename to submitqueue/orchestrator/controller/log/log.go index 3660b1bd8..3c6212dd7 100644 --- a/orchestrator/controller/log/log.go +++ b/submitqueue/orchestrator/controller/log/log.go @@ -19,10 +19,10 @@ import ( "fmt" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" "go.uber.org/zap" ) diff --git a/orchestrator/controller/log/log_test.go b/submitqueue/orchestrator/controller/log/log_test.go similarity index 95% rename from orchestrator/controller/log/log_test.go rename to submitqueue/orchestrator/controller/log/log_test.go index 6c1237a69..ff1bef8dc 100644 --- a/orchestrator/controller/log/log_test.go +++ b/submitqueue/orchestrator/controller/log/log_test.go @@ -21,11 +21,11 @@ import ( "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" queuemock "github.com/uber/submitqueue/extension/queue/mock" - storagemock "github.com/uber/submitqueue/extension/storage/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" "go.uber.org/mock/gomock" "go.uber.org/zap/zaptest" ) diff --git a/orchestrator/controller/merge/BUILD.bazel b/submitqueue/orchestrator/controller/merge/BUILD.bazel similarity index 61% rename from orchestrator/controller/merge/BUILD.bazel rename to submitqueue/orchestrator/controller/merge/BUILD.bazel index 657b9ae69..62929205c 100644 --- a/orchestrator/controller/merge/BUILD.bazel +++ b/submitqueue/orchestrator/controller/merge/BUILD.bazel @@ -3,15 +3,15 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "merge", srcs = ["merge.go"], - importpath = "github.com/uber/submitqueue/orchestrator/controller/merge", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/controller/merge", visibility = ["//visibility:public"], deps = [ - "//core/consumer", "//core/metrics", - "//entity", "//entity/queue", - "//extension/pusher", - "//extension/storage", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/pusher", + "//submitqueue/extension/storage", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -22,14 +22,14 @@ go_test( srcs = ["merge_test.go"], embed = [":merge"], deps = [ - "//core/consumer", "//core/errs", - "//entity", "//entity/queue", - "//extension/pusher", - "//extension/pusher/mock", "//extension/queue/mock", - "//extension/storage/mock", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/pusher", + "//submitqueue/extension/pusher/mock", + "//submitqueue/extension/storage/mock", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/orchestrator/controller/merge/merge.go b/submitqueue/orchestrator/controller/merge/merge.go similarity index 97% rename from orchestrator/controller/merge/merge.go rename to submitqueue/orchestrator/controller/merge/merge.go index 45dbcd9fa..8f3172c53 100644 --- a/orchestrator/controller/merge/merge.go +++ b/submitqueue/orchestrator/controller/merge/merge.go @@ -22,12 +22,12 @@ import ( "github.com/uber-go/tally/v4" "go.uber.org/zap" - "github.com/uber/submitqueue/core/consumer" coremetrics "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" entityqueue "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/pusher" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/pusher" + "github.com/uber/submitqueue/submitqueue/extension/storage" ) // Controller handles merge queue messages. It loads every request in a batch, diff --git a/orchestrator/controller/merge/merge_test.go b/submitqueue/orchestrator/controller/merge/merge_test.go similarity index 97% rename from orchestrator/controller/merge/merge_test.go rename to submitqueue/orchestrator/controller/merge/merge_test.go index 6d7f5d4bc..50f6652be 100644 --- a/orchestrator/controller/merge/merge_test.go +++ b/submitqueue/orchestrator/controller/merge/merge_test.go @@ -25,14 +25,14 @@ import ( "go.uber.org/mock/gomock" "go.uber.org/zap/zaptest" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/pusher" - pushermock "github.com/uber/submitqueue/extension/pusher/mock" queuemock "github.com/uber/submitqueue/extension/queue/mock" - storagemock "github.com/uber/submitqueue/extension/storage/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/pusher" + pushermock "github.com/uber/submitqueue/submitqueue/extension/pusher/mock" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" ) // batchIDPayload serializes a BatchID to JSON bytes for test message payloads. diff --git a/orchestrator/controller/ping.go b/submitqueue/orchestrator/controller/ping.go similarity index 96% rename from orchestrator/controller/ping.go rename to submitqueue/orchestrator/controller/ping.go index cc57c286a..45424264f 100644 --- a/orchestrator/controller/ping.go +++ b/submitqueue/orchestrator/controller/ping.go @@ -21,7 +21,7 @@ import ( "github.com/uber-go/tally/v4" "github.com/uber/submitqueue/core/metrics" - pb "github.com/uber/submitqueue/orchestrator/protopb" + pb "github.com/uber/submitqueue/submitqueue/orchestrator/protopb" "go.uber.org/zap" ) diff --git a/orchestrator/controller/ping_test.go b/submitqueue/orchestrator/controller/ping_test.go similarity index 97% rename from orchestrator/controller/ping_test.go rename to submitqueue/orchestrator/controller/ping_test.go index 456664df8..75f5240d2 100644 --- a/orchestrator/controller/ping_test.go +++ b/submitqueue/orchestrator/controller/ping_test.go @@ -22,7 +22,7 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - pb "github.com/uber/submitqueue/orchestrator/protopb" + pb "github.com/uber/submitqueue/submitqueue/orchestrator/protopb" "go.uber.org/zap" ) diff --git a/orchestrator/controller/score/BUILD.bazel b/submitqueue/orchestrator/controller/score/BUILD.bazel similarity index 61% rename from orchestrator/controller/score/BUILD.bazel rename to submitqueue/orchestrator/controller/score/BUILD.bazel index 661f8c14c..02e27b7ea 100644 --- a/orchestrator/controller/score/BUILD.bazel +++ b/submitqueue/orchestrator/controller/score/BUILD.bazel @@ -3,16 +3,16 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "score", srcs = ["score.go"], - importpath = "github.com/uber/submitqueue/orchestrator/controller/score", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/controller/score", visibility = ["//visibility:public"], deps = [ - "//core/consumer", "//core/metrics", - "//core/request", - "//entity", "//entity/queue", - "//extension/scorer", - "//extension/storage", + "//submitqueue/core/consumer", + "//submitqueue/core/request", + "//submitqueue/entity", + "//submitqueue/extension/scorer", + "//submitqueue/extension/storage", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -23,13 +23,13 @@ go_test( srcs = ["score_test.go"], embed = [":score"], deps = [ - "//core/consumer", "//core/errs", - "//entity", "//entity/queue", "//extension/queue/mock", - "//extension/scorer/mock", - "//extension/storage/mock", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/scorer/mock", + "//submitqueue/extension/storage/mock", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/orchestrator/controller/score/score.go b/submitqueue/orchestrator/controller/score/score.go similarity index 96% rename from orchestrator/controller/score/score.go rename to submitqueue/orchestrator/controller/score/score.go index 88dd1e83f..b9cf86b66 100644 --- a/orchestrator/controller/score/score.go +++ b/submitqueue/orchestrator/controller/score/score.go @@ -19,13 +19,13 @@ import ( "fmt" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/metrics" - corerequest "github.com/uber/submitqueue/core/request" - "github.com/uber/submitqueue/entity" entityqueue "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/scorer" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/core/consumer" + corerequest "github.com/uber/submitqueue/submitqueue/core/request" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/scorer" + "github.com/uber/submitqueue/submitqueue/extension/storage" "go.uber.org/zap" ) diff --git a/orchestrator/controller/score/score_test.go b/submitqueue/orchestrator/controller/score/score_test.go similarity index 98% rename from orchestrator/controller/score/score_test.go rename to submitqueue/orchestrator/controller/score/score_test.go index 5ac8e416d..6c040761d 100644 --- a/orchestrator/controller/score/score_test.go +++ b/submitqueue/orchestrator/controller/score/score_test.go @@ -22,13 +22,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" queuemock "github.com/uber/submitqueue/extension/queue/mock" - scorermock "github.com/uber/submitqueue/extension/scorer/mock" - storagemock "github.com/uber/submitqueue/extension/storage/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + scorermock "github.com/uber/submitqueue/submitqueue/extension/scorer/mock" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" "go.uber.org/mock/gomock" "go.uber.org/zap/zaptest" ) diff --git a/orchestrator/controller/speculate/BUILD.bazel b/submitqueue/orchestrator/controller/speculate/BUILD.bazel similarity index 66% rename from orchestrator/controller/speculate/BUILD.bazel rename to submitqueue/orchestrator/controller/speculate/BUILD.bazel index f7fe7c2e0..6f95060cf 100644 --- a/orchestrator/controller/speculate/BUILD.bazel +++ b/submitqueue/orchestrator/controller/speculate/BUILD.bazel @@ -3,14 +3,14 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "speculate", srcs = ["speculate.go"], - importpath = "github.com/uber/submitqueue/orchestrator/controller/speculate", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/controller/speculate", visibility = ["//visibility:public"], deps = [ - "//core/consumer", "//core/metrics", - "//entity", "//entity/queue", - "//extension/storage", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/storage", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -21,13 +21,13 @@ go_test( srcs = ["speculate_test.go"], embed = [":speculate"], deps = [ - "//core/consumer", "//core/errs", - "//entity", "//entity/queue", "//extension/queue/mock", - "//extension/storage", - "//extension/storage/mock", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/storage", + "//submitqueue/extension/storage/mock", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/orchestrator/controller/speculate/speculate.go b/submitqueue/orchestrator/controller/speculate/speculate.go similarity index 99% rename from orchestrator/controller/speculate/speculate.go rename to submitqueue/orchestrator/controller/speculate/speculate.go index 553b83c15..395d7aab7 100644 --- a/orchestrator/controller/speculate/speculate.go +++ b/submitqueue/orchestrator/controller/speculate/speculate.go @@ -20,11 +20,11 @@ import ( "fmt" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" entityqueue "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" "go.uber.org/zap" ) diff --git a/orchestrator/controller/speculate/speculate_test.go b/submitqueue/orchestrator/controller/speculate/speculate_test.go similarity index 99% rename from orchestrator/controller/speculate/speculate_test.go rename to submitqueue/orchestrator/controller/speculate/speculate_test.go index e38b02276..ad30d91eb 100644 --- a/orchestrator/controller/speculate/speculate_test.go +++ b/submitqueue/orchestrator/controller/speculate/speculate_test.go @@ -22,13 +22,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" queuemock "github.com/uber/submitqueue/extension/queue/mock" - "github.com/uber/submitqueue/extension/storage" - storagemock "github.com/uber/submitqueue/extension/storage/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/storage" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" "go.uber.org/mock/gomock" "go.uber.org/zap/zaptest" ) diff --git a/orchestrator/controller/start/BUILD.bazel b/submitqueue/orchestrator/controller/start/BUILD.bazel similarity index 59% rename from orchestrator/controller/start/BUILD.bazel rename to submitqueue/orchestrator/controller/start/BUILD.bazel index cb11af3eb..356a51f66 100644 --- a/orchestrator/controller/start/BUILD.bazel +++ b/submitqueue/orchestrator/controller/start/BUILD.bazel @@ -3,16 +3,16 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "start", srcs = ["start.go"], - importpath = "github.com/uber/submitqueue/orchestrator/controller/start", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/controller/start", visibility = ["//visibility:public"], deps = [ - "//core/consumer", "//core/metrics", - "//core/request", - "//entity", "//entity/queue", - "//extension/changestore", - "//extension/storage", + "//submitqueue/core/consumer", + "//submitqueue/core/request", + "//submitqueue/entity", + "//submitqueue/extension/changestore", + "//submitqueue/extension/storage", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -23,14 +23,14 @@ go_test( srcs = ["start_test.go"], embed = [":start"], deps = [ - "//core/consumer", "//core/errs", - "//entity", "//entity/queue", - "//extension/changestore/mock", "//extension/queue/mock", - "//extension/storage", - "//extension/storage/mock", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/changestore/mock", + "//submitqueue/extension/storage", + "//submitqueue/extension/storage/mock", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/orchestrator/controller/start/start.go b/submitqueue/orchestrator/controller/start/start.go similarity index 95% rename from orchestrator/controller/start/start.go rename to submitqueue/orchestrator/controller/start/start.go index 3ffbe1a32..e1bc59e72 100644 --- a/orchestrator/controller/start/start.go +++ b/submitqueue/orchestrator/controller/start/start.go @@ -21,13 +21,13 @@ import ( "time" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/metrics" - corerequest "github.com/uber/submitqueue/core/request" - "github.com/uber/submitqueue/entity" entityqueue "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/changestore" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/core/consumer" + corerequest "github.com/uber/submitqueue/submitqueue/core/request" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/changestore" + "github.com/uber/submitqueue/submitqueue/extension/storage" "go.uber.org/zap" ) diff --git a/orchestrator/controller/start/start_test.go b/submitqueue/orchestrator/controller/start/start_test.go similarity index 97% rename from orchestrator/controller/start/start_test.go rename to submitqueue/orchestrator/controller/start/start_test.go index 3905a673e..342657d75 100644 --- a/orchestrator/controller/start/start_test.go +++ b/submitqueue/orchestrator/controller/start/start_test.go @@ -22,14 +22,14 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" - changemock "github.com/uber/submitqueue/extension/changestore/mock" queuemock "github.com/uber/submitqueue/extension/queue/mock" - "github.com/uber/submitqueue/extension/storage" - storagemock "github.com/uber/submitqueue/extension/storage/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + changemock "github.com/uber/submitqueue/submitqueue/extension/changestore/mock" + "github.com/uber/submitqueue/submitqueue/extension/storage" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" "go.uber.org/mock/gomock" "go.uber.org/zap/zaptest" ) diff --git a/orchestrator/controller/validate/BUILD.bazel b/submitqueue/orchestrator/controller/validate/BUILD.bazel similarity index 51% rename from orchestrator/controller/validate/BUILD.bazel rename to submitqueue/orchestrator/controller/validate/BUILD.bazel index 17d19ac54..7f7631be2 100644 --- a/orchestrator/controller/validate/BUILD.bazel +++ b/submitqueue/orchestrator/controller/validate/BUILD.bazel @@ -3,18 +3,18 @@ load("@rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "validate", srcs = ["validate.go"], - importpath = "github.com/uber/submitqueue/orchestrator/controller/validate", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/controller/validate", visibility = ["//visibility:public"], deps = [ - "//core/consumer", "//core/errs", "//core/metrics", - "//entity", "//entity/queue", - "//extension/changeprovider", - "//extension/changestore", - "//extension/mergechecker", - "//extension/storage", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/changeprovider", + "//submitqueue/extension/changestore", + "//submitqueue/extension/mergechecker", + "//submitqueue/extension/storage", "@com_github_uber_go_tally_v4//:tally", "@org_uber_go_zap//:zap", ], @@ -25,17 +25,17 @@ go_test( srcs = ["validate_test.go"], embed = [":validate"], deps = [ - "//core/consumer", "//core/errs", - "//entity", "//entity/queue", - "//extension/changeprovider", - "//extension/changestore/mock", - "//extension/mergechecker", - "//extension/mergechecker/mock", "//extension/queue/mock", - "//extension/storage", - "//extension/storage/mock", + "//submitqueue/core/consumer", + "//submitqueue/entity", + "//submitqueue/extension/changeprovider", + "//submitqueue/extension/changestore/mock", + "//submitqueue/extension/mergechecker", + "//submitqueue/extension/mergechecker/mock", + "//submitqueue/extension/storage", + "//submitqueue/extension/storage/mock", "@com_github_stretchr_testify//assert", "@com_github_stretchr_testify//require", "@com_github_uber_go_tally_v4//:tally", diff --git a/orchestrator/controller/validate/validate.go b/submitqueue/orchestrator/controller/validate/validate.go similarity index 96% rename from orchestrator/controller/validate/validate.go rename to submitqueue/orchestrator/controller/validate/validate.go index c4e976c40..56056aaa4 100644 --- a/orchestrator/controller/validate/validate.go +++ b/submitqueue/orchestrator/controller/validate/validate.go @@ -20,15 +20,15 @@ import ( "fmt" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" coremetrics "github.com/uber/submitqueue/core/metrics" - "github.com/uber/submitqueue/entity" entityqueue "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/changeprovider" - "github.com/uber/submitqueue/extension/changestore" - "github.com/uber/submitqueue/extension/mergechecker" - "github.com/uber/submitqueue/extension/storage" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/changeprovider" + "github.com/uber/submitqueue/submitqueue/extension/changestore" + "github.com/uber/submitqueue/submitqueue/extension/mergechecker" + "github.com/uber/submitqueue/submitqueue/extension/storage" "go.uber.org/zap" ) diff --git a/orchestrator/controller/validate/validate_test.go b/submitqueue/orchestrator/controller/validate/validate_test.go similarity index 97% rename from orchestrator/controller/validate/validate_test.go rename to submitqueue/orchestrator/controller/validate/validate_test.go index 84f1cfe23..45c46f2b4 100644 --- a/orchestrator/controller/validate/validate_test.go +++ b/submitqueue/orchestrator/controller/validate/validate_test.go @@ -22,17 +22,17 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "github.com/uber-go/tally/v4" - "github.com/uber/submitqueue/core/consumer" "github.com/uber/submitqueue/core/errs" - "github.com/uber/submitqueue/entity" "github.com/uber/submitqueue/entity/queue" - "github.com/uber/submitqueue/extension/changeprovider" - changemock "github.com/uber/submitqueue/extension/changestore/mock" - "github.com/uber/submitqueue/extension/mergechecker" - mergecheckermock "github.com/uber/submitqueue/extension/mergechecker/mock" queuemock "github.com/uber/submitqueue/extension/queue/mock" - "github.com/uber/submitqueue/extension/storage" - storagemock "github.com/uber/submitqueue/extension/storage/mock" + "github.com/uber/submitqueue/submitqueue/core/consumer" + "github.com/uber/submitqueue/submitqueue/entity" + "github.com/uber/submitqueue/submitqueue/extension/changeprovider" + changemock "github.com/uber/submitqueue/submitqueue/extension/changestore/mock" + "github.com/uber/submitqueue/submitqueue/extension/mergechecker" + mergecheckermock "github.com/uber/submitqueue/submitqueue/extension/mergechecker/mock" + "github.com/uber/submitqueue/submitqueue/extension/storage" + storagemock "github.com/uber/submitqueue/submitqueue/extension/storage/mock" "go.uber.org/mock/gomock" "go.uber.org/zap/zaptest" ) diff --git a/orchestrator/proto/BUILD.bazel b/submitqueue/orchestrator/proto/BUILD.bazel similarity index 76% rename from orchestrator/proto/BUILD.bazel rename to submitqueue/orchestrator/proto/BUILD.bazel index cdbe7a084..c0efa6e52 100644 --- a/orchestrator/proto/BUILD.bazel +++ b/submitqueue/orchestrator/proto/BUILD.bazel @@ -15,7 +15,7 @@ go_proto_library( "@rules_go//proto:go_proto", "@rules_go//proto:go_grpc_v2", ], - importpath = "github.com/uber/submitqueue/orchestrator/proto", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/proto", proto = ":orchestratorpb_proto", visibility = ["//visibility:public"], ) @@ -23,13 +23,13 @@ go_proto_library( go_library( name = "proto", embed = [":orchestratorpb_go_proto"], - importpath = "github.com/uber/submitqueue/orchestrator/proto", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/proto", visibility = ["//visibility:public"], ) go_library( name = "protopb", embed = [":orchestratorpb_go_proto"], - importpath = "github.com/uber/submitqueue/orchestrator/protopb", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/protopb", visibility = ["//visibility:public"], ) diff --git a/orchestrator/proto/orchestrator.proto b/submitqueue/orchestrator/proto/orchestrator.proto similarity index 94% rename from orchestrator/proto/orchestrator.proto rename to submitqueue/orchestrator/proto/orchestrator.proto index 6f21e8366..f1723804c 100644 --- a/orchestrator/proto/orchestrator.proto +++ b/submitqueue/orchestrator/proto/orchestrator.proto @@ -16,7 +16,7 @@ syntax = "proto3"; package uber.submitqueue.orchestrator; -option go_package = "github.com/uber/submitqueue/orchestrator/protopb"; +option go_package = "github.com/uber/submitqueue/submitqueue/orchestrator/protopb"; option java_multiple_files = true; option java_outer_classname = "OrchestratorProto"; option java_package = "com.uber.submitqueue.orchestrator"; diff --git a/orchestrator/protopb/BUILD.bazel b/submitqueue/orchestrator/protopb/BUILD.bazel similarity index 91% rename from orchestrator/protopb/BUILD.bazel rename to submitqueue/orchestrator/protopb/BUILD.bazel index 0f40d168a..eb6e79588 100644 --- a/orchestrator/protopb/BUILD.bazel +++ b/submitqueue/orchestrator/protopb/BUILD.bazel @@ -7,7 +7,7 @@ go_library( "orchestrator.pb.yarpc.go", "orchestrator_grpc.pb.go", ], - importpath = "github.com/uber/submitqueue/orchestrator/protopb", + importpath = "github.com/uber/submitqueue/submitqueue/orchestrator/protopb", visibility = ["//visibility:public"], deps = [ "@com_github_gogo_protobuf//jsonpb", diff --git a/orchestrator/protopb/orchestrator.pb.go b/submitqueue/orchestrator/protopb/orchestrator.pb.go similarity index 97% rename from orchestrator/protopb/orchestrator.pb.go rename to submitqueue/orchestrator/protopb/orchestrator.pb.go index aec3ee03f..671f4f483 100644 --- a/orchestrator/protopb/orchestrator.pb.go +++ b/submitqueue/orchestrator/protopb/orchestrator.pb.go @@ -15,7 +15,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.10 -// protoc v3.21.12 +// protoc v5.29.3 // source: orchestrator.proto package protopb @@ -168,8 +168,8 @@ const file_orchestrator_proto_rawDesc = "" + "\ttimestamp\x18\x03 \x01(\x03R\ttimestamp\x12\x1a\n" + "\bhostname\x18\x04 \x01(\tR\bhostname2|\n" + "\x17SubmitQueueOrchestrator\x12a\n" + - "\x04Ping\x12*.uber.submitqueue.orchestrator.PingRequest\x1a+.uber.submitqueue.orchestrator.PingResponse\"\x00Bj\n" + - "!com.uber.submitqueue.orchestratorB\x11OrchestratorProtoP\x01Z0github.com/uber/submitqueue/orchestrator/protopbb\x06proto3" + "\x04Ping\x12*.uber.submitqueue.orchestrator.PingRequest\x1a+.uber.submitqueue.orchestrator.PingResponse\"\x00Bv\n" + + "!com.uber.submitqueue.orchestratorB\x11OrchestratorProtoP\x01Z