diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aabdd9f5..aa8f2b41 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 384eafe9..3f35d813 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 f78731ca..75bf39b5 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 cfc936fa..a14ee52a 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 5e128dd7..7dd4cd70 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 c21235f6..ddc2a377 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 76451154..9fccc2bd 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 87de0513..1750ae95 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 1cbbbb55..1305a909 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 356a7ae4..a3e10df0 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 6925a16a..9f06cd03 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 00000000..726654b5 --- /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 b1507bc8..ca345e46 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 144f8ad1..00000000 --- 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 310fbb55..b00717a6 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 a1402c90..59660f17 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 00000000..09925a79 --- /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 8522a312..a395790e 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 f93bd6a6..dc49e86f 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 9e5305e7..8830696f 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 c7d1ee20..11006fd9 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 c26007ed..b385f2c7 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 eab468fd..992bcab4 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 3d55cdbb..2b018f16 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 3a4850da..776260db 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 086177b6..739f41fd 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 691a7f4d..83fc2fc6 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 00000000..e1e0892c --- /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 8707abfe..c7ebac0d 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 48c1fe2b..39146177 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 c10bde8d..afdeafa2 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 30d38196..8b7d5ce3 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 c9015ec3..a0cdcd1f 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 6f9b4efa..1bc76ee1 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 00000000..163292f8 --- /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 00000000..a6b25d4a --- /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 05769897..7c875c83 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 60567b4a..6600736c 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 9ff45abf..a740788c 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 78695519..af7aec99 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 00000000..6d8ec608 --- /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 00000000..9c37906e --- /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 b52d21d3..2bbfbbfa 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 31227717..9d8814e2 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 d03283fc..177a4b06 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 7b0d6b19..58e6c158 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 a66d644c..93d60243 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 00000000..abb2e052 --- /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 2a533a91..5c2ba910 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 e84891d1..3686d23c 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 9e9ff1db..ece15243 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 db58fa7e..e6bde5ee 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 3b84b7e4..75a955f9 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 00000000..d99f079b --- /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 3cabb00b..df0ce5f6 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 e561b32e..858ec548 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 190da6b8..62c1ba42 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 6e56ac01..01e716f3 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 eb262426..f34a404a 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 e24e6c3b..4b0375cf 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 9fae6097..d39477ae 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 f53beb24..00fef8af 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 61637434..71bba9a2 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 436725cd..76955c32 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 61b2e095..e25549fa 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 078df0f5..ea40884f 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 90209846..71ab2a34 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 0c7ce869..40c28de1 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 79b36179..5c1274d1 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 cb255c7b..3f57d51f 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 55bf1fb5..4c87fbbf 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 93ceb028..292cb291 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 a80c5ce5..d1a19a33 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 6b531170..62e00877 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 6d1bd2de..57b5c3b0 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 8308824a..fa109d6c 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 73f9f090..5c181e8a 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 929f527f..0b8f1bfb 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 9792ba94..47d05b5b 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 f66b479c..0195701f 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 4b753151..d9e91743 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 02e7f521..df32419c 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 b9c98229..40594a36 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 b88453ca..f6e38999 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 fbc09eb6..6ed3f10a 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 0ce19267..0e2f09f2 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 7637a404..ec48d362 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 a3e93695..fa45c30c 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 ee7a5b31..102cc817 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 7d300325..7c5ad442 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 f123a089..d75c1b75 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 5c2f2ccc..9cc25a2e 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 1f797fde..cba27dc3 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 75515552..0491753a 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 2fc352f7..ea54c7e3 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 9ab224a7..e349c1ab 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 2b49710f..1268f5c2 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 83bb5f4b..898859a3 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 90f01051..870ecd93 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 5af460f4..3f49ee4b 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 4d572e7d..ea83f5eb 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 bb83b0fe..999f5ab3 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 8de75eec..68e98b10 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 a98baf3d..fc4c4e0d 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 422fe3aa..9cab5105 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 a1aa1383..d36db3a0 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 cfa7623d..2525962f 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 2ff4b885..5774948d 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 c6b853ef..1248966e 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 428c8724..8bf808e4 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 6b0e6699..6ead5f51 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 09bc9afc..102ca204 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 27a152fa..6febfac1 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 a220d409..71ed4a34 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 e3717164..070661b3 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 d056d46d..0161ed1f 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 21c06957..28696a1d 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 ab339eec..f8afa48d 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 a8bb21ec..f1077627 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 f5da4bad..564d3ae4 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 6dfef9b5..f6272fca 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 1060d163..aa46e8e7 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 06a83352..2abec0a1 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 f185c3d1..64bf4e87 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 3beaf37d..94e81482 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 d7fbccbf..61c8cbf7 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 5ab88d71..95b27c2b 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 24eff58f..55a7245e 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 062003d3..33dfe5c6 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 85e4f7b9..fe889fbc 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 5fcdb235..595afedc 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 fa432e62..05e94fb8 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 7e32178b..a2f89bc4 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 de9caf6e..326b4485 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 9515b56c..a8d2585a 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 f29e6a5d..bac3eb26 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 87297303..48b6bdaf 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 79fb1d73..675a2f58 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 1a096a88..df1a7aa7 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 593a241a..82a4d2ae 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 2c5bdeeb..f2a19066 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 a4aa52a5..e7fba22b 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 c108689a..ddf0574a 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 df8f6f8f..525df156 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 f7cc54a5..eeca563a 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 b2eae76a..05fb5d43 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 aac5ab03..92233e6b 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 93329e28..1ee52f34 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 679dfba8..42c98190 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 078cf954..bc4e1522 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 893152b6..2f6b9b20 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 3c0f1121..48d02031 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 cf2dc40e..3ab2c5cc 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 1abd87a2..fa3e7b27 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 a6c7e447..0b021bba 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 c4a3c4ce..c6e3d043 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 47b2c7a2..49d456a1 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 efb7e014..492e5773 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 7ae3a4d0..60ac96fe 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 9f02276b..2d4762e8 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 957a082c..f657f096 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 857358c3..fd15194d 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 d28407db..402d3b97 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 50aabd19..12d4fbbd 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 3aab896d..b4fff6c1 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 a5e108ae..e6482b37 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 841c6930..b9a4d66c 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 6af0b856..85d1aff2 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 57dc7f22..faaa8217 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 192e55a9..f271309f 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 7b6334b6..200bfe87 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 d46674e6..4af0fa02 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 2d8b8eb3..cbfa9857 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 ed90c0b6..1209e191 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 a7ffcd70..6c287846 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 984cf691..c68c1ce0 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 143efaed..d8c0d2e6 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 4c8d48e8..4fffb4ad 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 717be5be..7fddfad4 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 83fd9841..0d24d32a 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 24ade4dc..a0e20ab8 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 431939ef..d17cbe95 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 7b280954..360a8d8e 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 4e39e77c..99da6e9d 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 3c37bf87..21a23270 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 ed13a9b7..d3f4cd6d 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 58258cac..7d96b1f0 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 3660b1bd..3c6212dd 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 6c1237a6..ff1bef8d 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 657b9ae6..62929205 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 45dbcd9f..8f3172c5 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 6d7f5d4b..50f6652b 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 cc57c286..45424264 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 456664df..75f5240d 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 661f8c14..02e27b7e 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 88dd1e83..b9cf86b6 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 5ac8e416..6c040761 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 f7fe7c2e..6f95060c 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 553b83c1..395d7aab 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 e38b0227..ad30d91e 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 cb11af3e..356a51f6 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 3ffbe1a3..e1bc59e7 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 3905a673..342657d7 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 17d19ac5..7f7631be 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 c4e976c4..56056aaa 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 84f1cfe2..45c46f2b 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 cdbe7a08..c0efa6e5 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 6f21e836..f1723804 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 0f40d168..eb6e7958 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 aec3ee03..671f4f48 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