submitqueue/

directory
v0.3.0-20260812232155-... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 12, 2026 License: Apache-2.0

README

SubmitQueue

SubmitQueue service layout:

  • gateway/ — Gateway service: entry point for land requests (Ping, Land, Cancel RPCs).
  • orchestrator/ — Orchestrator service: coordinates the land pipeline (batch, speculate, 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/.

Directories

Path Synopsis
Package core groups infrastructure shared across SubmitQueue's own services (gateway and orchestrator) — the SubmitQueue-scoped analogue of the repo-level core/.
Package core groups infrastructure shared across SubmitQueue's own services (gateway and orchestrator) — the SubmitQueue-scoped analogue of the repo-level core/.
batch
Package batch provides the shared primitives for moving a batch through its lifecycle states while keeping the queue's per-state membership records (entity.QueueBatchState) in step.
Package batch provides the shared primitives for moving a batch through its lifecycle states while keeping the queue's per-state membership records (entity.QueueBatchState) in step.
changeset
Package changeset resolves batch identity into the changes a batch contains.
Package changeset resolves batch identity into the changes a batch contains.
changeset/fake
Package fake provides an in-memory changeset.Resolver for tests and examples.
Package fake provides an in-memory changeset.Resolver for tests and examples.
changeset/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
topickey
Package topickey defines SubmitQueue pipeline stage identifiers.
Package topickey defines SubmitQueue pipeline stage identifiers.
extension
buildrunner/buildkite
Package buildkite implements buildrunner.BuildRunner backed by the Buildkite CI platform.
Package buildkite implements buildrunner.BuildRunner backed by the Buildkite CI platform.
buildrunner/fake
Package fake provides a buildrunner.BuildRunner whose outcome is driven by the triggered changes.
Package fake provides a buildrunner.BuildRunner whose outcome is driven by the triggered changes.
buildrunner/githubactions
Package githubactions implements buildrunner.BuildRunner backed by GitHub Actions workflow_dispatch.
Package githubactions implements buildrunner.BuildRunner backed by GitHub Actions workflow_dispatch.
buildrunner/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
changeprovider/fake
Package fake provides a changeprovider.ChangeProvider whose outcome is driven by the input change.
Package fake provides a changeprovider.ChangeProvider whose outcome is driven by the input change.
changeprovider/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
changeprovider/routing
Package routing provides a ChangeProvider that dispatches URIs to downstream change providers based on the URI's change type.
Package routing provides a ChangeProvider that dispatches URIs to downstream change providers based on the URI's change type.
conflict/all
Package all provides a conflict.Analyzer that pessimistically reports a conflict against every in-flight batch.
Package all provides a conflict.Analyzer that pessimistically reports a conflict against every in-flight batch.
conflict/fake
Package fake provides a conflict.Analyzer that decorates an existing analyzer: it delegates to the wrapped implementation for the happy path, but injects an error when a caller-supplied predicate matches.
Package fake provides a conflict.Analyzer that decorates an existing analyzer: it delegates to the wrapped implementation for the happy path, but injects an error when a caller-supplied predicate matches.
conflict/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
conflict/none
Package none provides a conflict.Analyzer that never reports a conflict.
Package none provides a conflict.Analyzer that never reports a conflict.
conflict/pathoverlap
Package pathoverlap provides a conflict.Analyzer that reports a conflict between two batches when the paths they change share a key.
Package pathoverlap provides a conflict.Analyzer that reports a conflict between two batches when the paths they change share a key.
mergechecker/fake
Package fake provides a mergechecker.MergeChecker whose outcome is driven by the input change.
Package fake provides a mergechecker.MergeChecker whose outcome is driven by the input change.
mergechecker/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
queueconfig/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
queueconfig/yaml
Package yaml provides a YAML-file-backed implementation of queueconfig.Store.
Package yaml provides a YAML-file-backed implementation of queueconfig.Store.
scorer/fake
Package fake provides a scorer.Scorer that decorates an existing scorer: it delegates to the wrapped implementation for the happy path, but injects an error when a change URI carries a failure marker of the form "sq-fake=<token>":
Package fake provides a scorer.Scorer that decorates an existing scorer: it delegates to the wrapped implementation for the happy path, but injects an error when a change URI carries a failure marker of the form "sq-fake=<token>":
scorer/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
speculation/allocator
Package allocator defines the budget-spending composition point used by the standard Speculator.
Package allocator defines the budget-spending composition point used by the standard Speculator.
speculation/allocator/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
speculation/allocator/sticky
Package sticky provides an allocator.Allocator that fills only free budget slots and leaves every in-flight build running — it never preempts.
Package sticky provides an allocator.Allocator that fills only free budget slots and leaves every in-flight build running — it never preempts.
speculation/generator
Package generator defines the candidate-stream composition point used by the standard Speculator.
Package generator defines the candidate-stream composition point used by the standard Speculator.
speculation/generator/bestfirst
Package bestfirst provides a probability-ordered speculation path generator.
Package bestfirst provides a probability-ordered speculation path generator.
speculation/generator/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
speculation/speculator/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
speculation/speculator/standard
Package standard provides the standard speculator.Speculator: it composes a Generator and an Allocator so a queue's candidate scoring and its budget rationing policy can vary independently without changing the Speculator.
Package standard provides the standard speculator.Speculator: it composes a Generator and an Allocator so a queue's candidate scoring and its budget rationing policy can vary independently without changing the Speculator.
storage/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
validator/fake
Package fake provides a validator.Validator that always passes.
Package fake provides a validator.Validator that always passes.
validator/mock
Package mock is a generated GoMock package.
Package mock is a generated GoMock package.
gateway
Package orchestrator declares the SubmitQueue orchestrator's pipeline topology, extension seams, and controller set.
Package orchestrator declares the SubmitQueue orchestrator's pipeline topology, extension seams, and controller set.
controller/build
Package build starts the builds a head batch's speculation paths have been funded for.
Package build starts the builds a head batch's speculation paths have been funded for.
controller/buildsignal
Package buildsignal implements the build poll loop.
Package buildsignal implements the build poll loop.
controller/cancel
Package cancel implements the orchestrator-side cancel controller.
Package cancel implements the orchestrator-side cancel controller.
controller/dlq
Package dlq contains controllers that consume messages from per-topic dead-letter queues and reconcile the affected request and batch entities into a terminal failed state.
Package dlq contains controllers that consume messages from per-topic dead-letter queues and reconcile the affected request and batch entities into a terminal failed state.
controller/merge
Package merge implements the trigger stage for the asynchronous merge.
Package merge implements the trigger stage for the asynchronous merge.
controller/mergeconflictsignal
Package mergeconflictsignal consumes merge-conflict check results from runway's signal queue, correlates them to the request by the echoed id, and either advances the request to the batch stage (mergeable) or fails it (conflicted).
Package mergeconflictsignal consumes merge-conflict check results from runway's signal queue, correlates them to the request by the echoed id, and either advances the request to the batch stage (mergeable) or fails it (conflicted).
controller/mergesignal
Package mergesignal consumes merge results from runway's merge-signal queue, correlates them to the batch by the echoed id, and transitions the batch to a terminal state — Succeeded when runway merged the batch, Failed when it could not — then fans the batch out to conclude (so member requests pick up the outcome) and speculate (so dependents can re-plan).
Package mergesignal consumes merge results from runway's merge-signal queue, correlates them to the batch by the echoed id, and transitions the batch to a terminal state — Succeeded when runway merged the batch, Failed when it could not — then fans the batch out to conclude (so member requests pick up the outcome) and speculate (so dependents can re-plan).
controller/speculate
Package speculate plans a queue's speculative builds and finalizes each batch's outcome from their results.
Package speculate plans a queue's speculative builds and finalizes each batch's outcome from their results.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL