GitHub, the world’s largest software development collaboration platform today announced the general availability of merge queue, which means good-bye to traffic jams on your team’s busiest branches. No more rushing to merge your pull requests before someone else merges theirs. Turn on GitHub’s merge queue today and accelerate your merge velocity. Any team that is part of a managed organization with public repositories and GitHub Enterprise Cloud users will be able to enable this feature on their respective repository and start streamlining their team’s pull requests immediately. If this describes you, then let the commit parties commence.
Introducing merge queue: our newest feature to improve team velocity
Collaborative coding is powerful. But to be at your team’s most optimized state, you need automated branch management that enables multiple developers to commit code on a daily basis, without frustration. This can happen if your team’s branch is busy with many team members onboarding the same commit onramp. This can be frustrating for your team, but, more importantly, it gets in the way of shipping velocity. We don’t want that journey for you! This is why we built merge queue. We’ve reduced the tension between branch stability and velocity. Merge queue takes care of making sure your pull request is compatible with other changes ahead of it and alerting you if something goes wrong. The result: your team can focus on the good stuff—write, submit, and commit. No tool sprawls here. This flow is still in the same place with the enablement of a modified merge button because GitHub remains your one-stop-shop for an integrated, enterprise-ready platform with the industry’s best collaboration tools.
How does merge queue works?
Merge queue is designed for high-performance teams where multiple users regularly commit to a single branch. Prior to merge queue, engineers would need to attempt to merge directly onto an already busy branch—potentially running into code conflicts, and then spiralling into a cycle of rework.
With GitHub’s merge queue, a temporary branch is created that contains:
- The latest changes from the base branch
- The changes from other pull requests already in the queue
- The changes from your pull request
CI then starts, with the expectation that all required status checks must pass before the branch (and the pull requests it represents) are merged. Merge queue is the ultimate branch traffic controller. We’re thrilled that Block, one of our enterprise customers, has been unlocking the magic of this streamlined workflow–queue-then-next-play.
“We would routinely experience post-merge build failures in our monorepo several times a week and merge queue has practically eliminated all build failures in that category. This has greatly reduced our on-call burden and lessened the friction our developers’ experience during their daily workflows.”
– Jon Graves, Engineering Manager at Block Inc
Get started now with merge queue
Enhance your team’s performance and speed by enabling this new branch protection.
As a repository administrator:
- For your target branch, enable the branch protection setting, “Require merge queue.”
- Set your preferences for the merge queue: merge method, build on currency, merge limits, only merge non-failing pull requests, status check timeout.
As an engineer:
- Open the pull request to be added to the queue, click ‘Merge when ready’.