Expand description
Driving the node’s merge queue from outside (D5, D68).
crate::Platform::run_proposal_queue is the round; this is how
anybody asks for one. A single endpoint, POST /api/queue/run, and
deliberately no timer: a node that spends CI on its own schedule
surprises whoever pays for it, and a round that only a clock can
start is a round no test can reach without waiting on one. An
operator’s cron, a hook, or a person decides the cadence.
The queue’s trees are made here rather than by the operator, because
the one contract that matters cannot be checked once it is wrong:
the tree a round speculates in must share the served repository’s
object store, or the log names merge commits git cannot see and
crate::Platform::reconcile_git_refs compensates the whole round
back out. A git worktree of the bare repo satisfies it by
construction; a clone that looks identical does not.
Structs§
- InFlight
- The rounds currently running, by
<repo>:<branch>. - Queue
Config - What a node needs before it can run a round.
Functions§
- run
- Runs one round for the target named in
body, as JSON.