uber/submitqueue
SubmitQueue is a high-performance speculative merge queue that keeps your trunk consistently green at scale. - uber/submitqueue
13 stars · 5 forks · 0 watchers
README
SubmitQueue
SubmitQueue is a high-performance speculative merge queue that keeps your trunk consistently green at scale. Rather than validating changes one at a time, SubmitQueue speculatively rebases and validates multiple changes in parallel against predicted future states of HEAD. When validations pass, changes land automatically. When they fail, SubmitQueue isolates the offending change and retries the rest — all without human intervention. Designed for large monorepos and fast-moving teams where concurrent changes can introduce subtle conflicts and destabilize builds. Repository layout Cross-domain Go code (errors, metrics, consumer framework, HTTP helpers, shared entities, shared extension contracts) lives under platform/. Each product domain has its own tree (submitqueue/, stovepipe/, …) and grows into gateway/, orchestrator/, entity/, extension/, and domain-local core/ — though a domain may start smaller (Stovepipe is currently a single Ping-only service with just controller/). See CLAUDE.md for conventions and import paths. Quick Start Requires Docker and Docker Compose. See Development Setup for full prerequisites.
Build everything
make buildRun unit tests
make testStart full stack locally (Gateway + Orchestrator + MySQL via Docker Compose)
make local-submitqueue-startTest with grpcurl
grpcurl -plaintext -d '{"message": "hello"}' localhost:8081 uber.submitqueue.gateway.SubmitQueueGateway/PingStop services
make local-stop See service/README.md for more examples including running individual services and clients. DocumentationDocument Description
Development Setup Prerequisites, build, environment, IDE setup
Contributing How to contribute, workflow, guidelines
Testing Guide Unit, integration, and E2E testing patterns
Architecture Guide Project layout, patterns, conventions
Examples Running services, clients, API reference
RFCs Design documents and proposals
Project Status SubmitQueue is under active development. We welcome contributions and feedback. Contributing See CONTRIBUTING.md for how to get started. License Licensed under the Apache License 2.0.