View as Markdown

Migrate from Bors‑NG to Mergify

Map Bors‑NG try/staging queues and permissions to Mergify rules and Merge Queue.


Bors‑NG orchestrates a “try → staging → master” flow with batch testing and ordered merges. Mergify offers a Merge Queue with similar guarantees plus flexible rules.

  • Keep your branch protection and checks
  • Define one queue rule in .mergify.yml
  • Replace bors r+ approvals with the @mergifyio queue command
  • bors r+ approval → @mergifyio queue command
  • batch size → Mergify batches with configurable size
  • priority → Mergify queue priorities

Minimal equivalent configuration

Section titled Minimal equivalent configuration

A queue that only accepts approved pull requests whose checks pass:

.mergify.yml
queue_rules:
- name: default
batch_size: 1
queue_conditions:
- base = main
- check-success = ci
- "#approved-reviews-by>=1"

queue_conditions gates entry to the queue rather than triggering it: a pull request that matches them is queued once somebody runs @mergifyio queue, which is what bors r+ maps to. To have Mergify queue pull requests on its own rather than on that command, set up Auto-Merge.

If you relied on bors try to validate speculative changes, you can keep a lightweight CI workflow triggered by a label or comment.

Increase throughput with batches and prioritize urgent PRs:

queue_rules:
- name: default
batch_size: 3
queue_conditions:
- base = main
- check-success = ci
- "#approved-reviews-by>=1"
priority_rules:
- name: urgent
conditions:
- label = urgent
priority: high

Was this page helpful?