bors-ng is a GitHub merge bot that enforces an “evergreen” main branch by queueing approved pull requests, testing them together on a staging branch, and only advancing main with the exact, passing commit set. Instead of maintainers repeatedly rebasing and merging one PR at a time, bors-ng batches r+-ed PRs, triggers your existing CI (e.g., GitHub Actions), and merges automatically when the batch is green. If a batch fails, it bisects the batch into smaller runs to isolate the culprit, landing the good PRs and kicking only the failing one(s) back for fixes. The bot is implemented as a GitHub App and works alongside—rather than replacing—your CI by reporting commit statuses/checks and acting on PR comments like bors r+ or bors try. It provides a dashboard to watch queue progress, uses separate staging/trying branches for merge/test cycles, and supports both public GitHub and GitHub Enterprise endpoints.
Features
- Automated PR merging only after CI passes
- Uses a staging branch to validate merges
- Prevents main branch breakages
- Configurable rules via bors.toml
- Web dashboard for status visibility
- Supports integration with GitHub Actions/Jenkins