GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • uber/submitqueue
  • Home
  • Guides
  • Design (RFCs)
  • Development
  • Testing
  • Change URIs
  • Consumer Gate
  • Consumer Hold
  • Hooks Framework
  • Message Queue Contract
  • Service-Scoped Extensions
  • RFC: SQL-Based Distributed Queue
  • Web UI as a Mountable Module

This view

  • Original page
  • New address

GeezerVison is showing uber.github.io — Home - SubmitQueue

SubmitQueue¶

A high-performance speculative submission queue that keeps your trunk consistently green at scale.

SubmitQueue does not validate changes one at a time. It speculatively rebases and validates many changes in parallel against predicted future states of HEAD. Changes whose validations pass land automatically. When a validation fails, SubmitQueue isolates the offending change and retries the rest, with no human involved. It is designed for large monorepos and fast-moving teams, where concurrent changes can introduce subtle conflicts and destabilize builds.

Why SubmitQueue¶

  • Speculative validation


    SubmitQueue builds a tree of possible future HEADs and validates the paths most likely to land, in parallel.

    Speculation

  • Isolates failures


    A failing change is isolated and rejected while the rest of its batch carries on to land.

    Orchestrator workflow

  • Pluggable extensions


    Build runners, change providers, storage, queues and scorers are vendor-agnostic interfaces with swappable implementations.

    Extension contract

  • Durable, queue-driven pipeline


    Every stage is an idempotent consumer on an at-least-once message queue, with optimistic locking and no distributed transactions.

    SQL-based queue

Components¶

  • SubmitQueue


    The gateway and orchestrator that accept, batch, speculate on, build and land changes.

    Workflow

  • Runway


    The landing service. It owns VCS operations, conflict checks and merges, on SubmitQueue's behalf.

    Workflow

  • Stovepipe


    The post-land pipeline. It validates landed commits and tracks the last green revision.

    Workflow

Try it in a minute¶

You need only Docker. No repository, account or token is required.

make local-submitqueue-start   # Gateway + Orchestrator + Runway + MySQL
make demo-requests             # create changes, enqueue them, watch them land
make local-submitqueue-stop

The Quickstart goes from a fake provider to a local git repository to real GitHub pull requests. Questions? Join the Slack community.

You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.