Skip to content

Commit c9acfbf

Browse files
authored
Merge branch 'main' into mnoah1/process-docs-update
2 parents 56d22b8 + ebe5d63 commit c9acfbf

146 files changed

Lines changed: 2070 additions & 1446 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/tag-go-pseudoversion.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Tags each new commit on the default branch with a Go pseudo-version so downstream
22
# monorepos can pin any merged commit in go.mod:
33
#
4-
# require github.com/uber/submitqueue v0.0.0-20250602143045-abcdef123456
4+
# require github.com/uber/submitqueue v0.3.0-20250602143045-abcdef123456
55
#
6-
# Format matches https://go.dev/ref/mod#pseudo-versions (v0.0.0-yyyymmddhhmmss-rev, UTC).
6+
# Format matches https://go.dev/ref/mod#pseudo-versions (v0.3.0-yyyymmddhhmmss-rev, UTC).
77

88
name: Tag Go pseudo-version
99

@@ -35,7 +35,7 @@ jobs:
3535
TS="$(git show -s --format=%ct "${SHA}")"
3636
WHEN="$(date -u -d "@${TS}" +%Y%m%d%H%M%S)"
3737
REV="$(git rev-parse --short=12 "${SHA}")"
38-
TAG="v0.0.0-${WHEN}-${REV}"
38+
TAG="v0.3.0-${WHEN}-${REV}"
3939
4040
echo "Computed tag: ${TAG} for ${SHA}"
4141

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
/bazel-*
33
MODULE.bazel.lock
44
/pkg/**
5-
.vscode/
5+
.vscode/*
6+
!.vscode/launch.json
67
.idea/
78
.claude/
89
.mcp.json

.vscode/launch.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "Debug: attach (dlv in docker)",
6+
"type": "go",
7+
"request": "attach",
8+
"mode": "remote",
9+
"cwd": "${workspaceFolder}",
10+
"host": "127.0.0.1",
11+
"port": 2345,
12+
"showLog": true
13+
}
14+
]
15+
}

BUILD.bazel

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,11 @@ load("@gazelle//:def.bzl", "gazelle")
22

33
# gazelle:prefix github.com/uber/submitqueue
44

5+
# Name every Go Bazel target go_default_library / go_default_test so labels
6+
# match go-code's (and other Bazel consumers') expected naming convention
7+
# without per-import fixups.
8+
# gazelle:go_naming_convention go_default_library
9+
510
# Exclude nested worktrees (created under .claude/worktrees) so gazelle does not
611
# index them as duplicate rule definitions and corrupt the canonical BUILD files.
712
# gazelle:exclude .claude

Makefile

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ SUBMITQUEUE_LOCAL_PROJECT = submitqueue
1414

1515
# Stovepipe compose file (single Ping-only service)
1616
STOVEPIPE_COMPOSE_FILE = service/stovepipe/docker-compose.yml
17+
STOVEPIPE_DEBUG_COMPOSE_FILE = service/stovepipe/docker-compose.debug.yml
1718

1819
# Fixed project name for local manual testing (tests use unique random names)
1920
STOVEPIPE_LOCAL_PROJECT = stovepipe
@@ -51,7 +52,7 @@ define assert_clean
5152
fi
5253
endef
5354

54-
.PHONY: build build-all-linux build-runway-linux build-submitqueue-gateway-linux build-submitqueue-orchestrator-linux build-stovepipe-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-init-runway-queue-schema local-init-stovepipe-schemas local-runway-start local-runway-stop local-submitqueue-clean local-submitqueue-gateway-start local-submitqueue-gateway-stop local-init-submitqueue-schemas local-submitqueue-logs local-submitqueue-orchestrator-start local-submitqueue-orchestrator-stop local-submitqueue-ps local-submitqueue-restart local-submitqueue-start local-stop local-stovepipe-logs local-stovepipe-start local-stovepipe-stop mocks proto query-deps query-targets run-client-runway run-client-submitqueue-gateway run-client-submitqueue-orchestrator run-client-stovepipe run-queue-admin test test-no-cache tidy tidy-bazel tidy-go help
55+
.PHONY: build build-all-linux build-runway-linux build-submitqueue-gateway-linux build-submitqueue-orchestrator-linux build-stovepipe-linux build-stovepipe-linux-debug 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-init-runway-queue-schema local-init-stovepipe-schemas local-runway-start local-runway-stop local-submitqueue-clean local-submitqueue-gateway-start local-submitqueue-gateway-stop local-init-submitqueue-schemas local-submitqueue-logs local-submitqueue-orchestrator-start local-submitqueue-orchestrator-stop local-submitqueue-ps local-submitqueue-restart local-submitqueue-start local-stop local-stovepipe-debug-start local-stovepipe-logs local-stovepipe-start local-stovepipe-stop mocks proto query-deps query-targets run-client-runway run-client-submitqueue-gateway run-client-submitqueue-orchestrator run-client-stovepipe run-queue-admin test test-no-cache tidy tidy-bazel tidy-go help
5556

5657

5758
build: ## Build all services and examples
@@ -95,6 +96,14 @@ build-stovepipe-linux: ## Build Stovepipe Linux binary for Docker
9596
cp -f bazel-bin/service/stovepipe/server/stovepipe .docker-bin/stovepipe
9697
@echo "Stovepipe Linux binary ready at .docker-bin/stovepipe"
9798

99+
build-stovepipe-linux-debug: ## Build Stovepipe Linux debug binary for Docker/delve (symbols, no optimizations)
100+
@echo "Building Stovepipe Linux debug binary for Docker..."
101+
@$(BAZEL) build --compilation_mode=dbg --platforms=@rules_go//go/toolchain:linux_amd64 //service/stovepipe/server:stovepipe
102+
@mkdir -p .docker-bin
103+
@cp -f bazel-bin/service/stovepipe/server/stovepipe_/stovepipe .docker-bin/stovepipe-debug 2>/dev/null || \
104+
cp -f bazel-bin/service/stovepipe/server/stovepipe .docker-bin/stovepipe-debug
105+
@echo "Stovepipe Linux debug binary ready at .docker-bin/stovepipe-debug"
106+
98107
check-gazelle: ## Check BUILD.bazel files are up to date
99108
@echo "Running Gazelle to check BUILD files..."
100109
@$(BAZEL) run //:gazelle
@@ -144,19 +153,19 @@ integration-test: build-all-linux ## Run all integration tests (auto-builds bina
144153

145154
integration-test-submitqueue-consumer: ## Run Consumer integration tests
146155
@echo "Running Consumer integration tests..."
147-
@$(BAZEL) test //test/integration/submitqueue/core/consumer:consumer_test --test_output=streamed
156+
@$(BAZEL) test //test/integration/submitqueue/core/consumer:go_default_test --test_output=streamed
148157

149158
integration-test-extensions: ## Run extension integration tests (runs in parallel)
150159
@echo "Running extension integration tests (parallel)..."
151160
@$(BAZEL) test //test/integration/submitqueue/extension/... //test/integration/extension/... --test_output=errors
152161

153162
integration-test-submitqueue-gateway: build-submitqueue-gateway-linux ## Run Gateway integration tests (auto-builds binary)
154163
@echo "Running Gateway integration tests..."
155-
@$(BAZEL) test //test/integration/submitqueue/gateway:gateway_test --test_output=streamed
164+
@$(BAZEL) test //test/integration/submitqueue/gateway:go_default_test --test_output=streamed
156165

157166
integration-test-submitqueue-orchestrator: build-submitqueue-orchestrator-linux ## Run Orchestrator integration tests (auto-builds binary)
158167
@echo "Running Orchestrator integration tests..."
159-
@$(BAZEL) test //test/integration/submitqueue/orchestrator:orchestrator_test --test_output=streamed
168+
@$(BAZEL) test //test/integration/submitqueue/orchestrator:go_default_test --test_output=streamed
160169

161170
license-fix: ## Add missing license headers to source files
162171
@$(BAZEL) run //tool/linter/licenseheader -- --fix
@@ -320,6 +329,19 @@ local-stop: ## Stop all services (keep data)
320329
@$(COMPOSE) -f $(RUNWAY_COMPOSE_FILE) -p $(RUNWAY_LOCAL_PROJECT) down
321330
@echo "Services stopped. Data volumes preserved."
322331

332+
local-stovepipe-debug-start: build-stovepipe-linux-debug ## Start Stovepipe under delve in Docker (attach IDE to :2345)
333+
@echo "Starting Stovepipe service with compose (debug)..."
334+
@$(COMPOSE) -f $(STOVEPIPE_COMPOSE_FILE) -f $(STOVEPIPE_DEBUG_COMPOSE_FILE) -p $(STOVEPIPE_LOCAL_PROJECT) up -d --build --wait
335+
@echo "Applying storage and queue schemas..."
336+
@$(MAKE) -s local-init-stovepipe-schemas
337+
@echo ""
338+
@echo "✅ Stovepipe debug is running (delve :2345)!"
339+
@echo ""
340+
@$(COMPOSE) -f $(STOVEPIPE_COMPOSE_FILE) -f $(STOVEPIPE_DEBUG_COMPOSE_FILE) -p $(STOVEPIPE_LOCAL_PROJECT) ps
341+
@echo ""
342+
@echo "Stovepipe gRPC port: $$(docker port $(STOVEPIPE_LOCAL_PROJECT)-stovepipe-service-1 8080 2>/dev/null | cut -d: -f2 || echo 'unknown')"
343+
@echo "Delve: 127.0.0.1:2345 — run launch config \"Debug: attach (dlv in docker)\""
344+
323345
local-stovepipe-logs: ## View logs from the running Stovepipe service
324346
@$(COMPOSE) -f $(STOVEPIPE_COMPOSE_FILE) -p $(STOVEPIPE_LOCAL_PROJECT) logs -f
325347

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
load("@rules_go//go:def.bzl", "go_library")
22

33
go_library(
4-
name = "protopb",
4+
name = "go_default_library",
55
srcs = ["change.pb.go"],
66
importpath = "github.com/uber/submitqueue/api/base/change/protopb",
77
visibility = ["//visibility:public"],
88
deps = [
9-
"@org_golang_google_protobuf//reflect/protoreflect",
10-
"@org_golang_google_protobuf//runtime/protoimpl",
9+
"@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
10+
"@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
1111
],
1212
)
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
load("@rules_go//go:def.bzl", "go_library")
22

33
go_library(
4-
name = "protopb",
4+
name = "go_default_library",
55
srcs = ["mergestrategy.pb.go"],
66
importpath = "github.com/uber/submitqueue/api/base/mergestrategy/protopb",
77
visibility = ["//visibility:public"],
88
deps = [
9-
"@org_golang_google_protobuf//reflect/protoreflect",
10-
"@org_golang_google_protobuf//runtime/protoimpl",
9+
"@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
10+
"@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
1111
],
1212
)
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
load("@rules_go//go:def.bzl", "go_library")
22

33
go_library(
4-
name = "protopb",
4+
name = "go_default_library",
55
srcs = ["messagequeue.pb.go"],
66
importpath = "github.com/uber/submitqueue/api/base/messagequeue/protopb",
77
visibility = ["//visibility:public"],
88
deps = [
9-
"@org_golang_google_protobuf//reflect/protoreflect",
10-
"@org_golang_google_protobuf//runtime/protoimpl",
11-
"@org_golang_google_protobuf//types/descriptorpb",
9+
"@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
10+
"@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
11+
"@org_golang_google_protobuf//types/descriptorpb:go_default_library",
1212
],
1313
)
Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,32 @@
11
load("@rules_go//go:def.bzl", "go_library", "go_test")
22

33
go_library(
4-
name = "messagequeue",
4+
name = "go_default_library",
55
srcs = [
66
"merge.go",
77
"topics.go",
88
],
99
importpath = "github.com/uber/submitqueue/api/runway/messagequeue",
1010
visibility = ["//visibility:public"],
1111
deps = [
12-
"//api/base/messagequeue/protopb", # keep
13-
"//api/runway/messagequeue/protopb", # keep
14-
"//platform/consumer",
15-
"@org_golang_google_protobuf//encoding/protojson",
16-
"@org_golang_google_protobuf//proto",
12+
"//api/base/messagequeue/protopb:go_default_library",
13+
"//api/runway/messagequeue/protopb:go_default_library",
14+
"//platform/consumer:go_default_library",
15+
"@org_golang_google_protobuf//encoding/protojson:go_default_library",
16+
"@org_golang_google_protobuf//proto:go_default_library",
1717
],
1818
)
1919

2020
go_test(
21-
name = "messagequeue_test",
21+
name = "go_default_test",
2222
srcs = ["merge_test.go"],
23-
embed = [":messagequeue"],
23+
embed = [":go_default_library"],
2424
deps = [
25-
"//api/base/change/protopb",
26-
"//api/base/mergestrategy/protopb",
27-
"//api/runway/messagequeue/protopb",
28-
"@com_github_stretchr_testify//assert",
29-
"@com_github_stretchr_testify//require",
30-
"@org_golang_google_protobuf//proto",
25+
"//api/base/change/protopb:go_default_library",
26+
"//api/base/mergestrategy/protopb:go_default_library",
27+
"//api/runway/messagequeue/protopb:go_default_library",
28+
"@com_github_stretchr_testify//assert:go_default_library",
29+
"@com_github_stretchr_testify//require:go_default_library",
30+
"@org_golang_google_protobuf//proto:go_default_library",
3131
],
3232
)
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
load("@rules_go//go:def.bzl", "go_library")
22

33
go_library(
4-
name = "protopb",
4+
name = "go_default_library",
55
srcs = ["merge.pb.go"],
66
importpath = "github.com/uber/submitqueue/api/runway/messagequeue/protopb",
77
visibility = ["//visibility:public"],
88
deps = [
9-
"//api/base/change/protopb",
10-
"//api/base/mergestrategy/protopb",
11-
"//api/base/messagequeue/protopb", # keep
12-
"@org_golang_google_protobuf//reflect/protoreflect",
13-
"@org_golang_google_protobuf//runtime/protoimpl",
9+
"//api/base/change/protopb:go_default_library",
10+
"//api/base/mergestrategy/protopb:go_default_library",
11+
"//api/base/messagequeue/protopb:go_default_library",
12+
"@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
13+
"@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
1414
],
1515
)

0 commit comments

Comments
 (0)