Merge Queue

Coming (phase 4)

Green CI doesn't mean safe to merge

A merge queue that tests pull requests in batches against the latest main and merges them in order. It's free: you pay only for the runner minutes.

Keep main green

Illustrative. The pull requests, checks and commands in it are examples.

From an approved pull request to main.

  1. Pull requests join the queue

    A pull request joins once it meets your merge conditions: its required checks and approvals, and Code Review and Security Testing if you want them. Priorities put a hotfix first.

  2. Compatible ones batch

    Compatible pull requests are tested together as one batch, while speculative checks test the queue's prefixes in parallel, so a long queue doesn't mean a long wait.

  3. Each batch is tested as main will be

    A batch runs its checks on its own queue branch: the latest main with the batch merged in. When main moves, the queue updates or rebases onto it.

  4. They merge, in order

    When a batch passes, its pull requests merge through the API in queue order, and each one's status in the pull request says so. It works with your branch protection.

  5. A failed batch is split

    When a batch fails, it's split to find the pull request that broke it. That one leaves the queue with the reason in its pull request, and the rest carry on. A transient failure is retried first.

  6. Redundant runs cancel

    CI that a merge made redundant is cancelled, so no runner minutes go on results nobody will read.

Price

The queue is free.

The queue costs nothing. The runner minutes its checks use are billed as usual, at the CI Runners prices.

Rules

Your rules decide what merges.

It's a queue engine of its own: it makes its own queue branches, runs its own speculative checks and batches, and merges through the API.

Merge conditions

Required checks and approvals, plus Code Review and Security Testing if you want them, decide when a pull request may join.

Priorities and freezes

Put a hotfix at the front, or freeze the queue while you cut a release. Closed pull requests leave it on their own.

In the pull request

Each pull request shows its place in the queue and its status. A blocked one sends a notification, and an audit history keeps every merge and removal.

For people and agents

Agents read and steer the queue over MCP, and you can at a terminal with ohmako queue.

GitHub first

Merge Queue starts with GitHub pull requests. GitLab merge requests come as the last milestone of phase 4.

Join the invite list

Tell us which products you want first. Invites go out in waves, product by product.

Keep main green