The Origin Story of Merge Queues
21 hours ago
- #merge-queues
- #software-development
- #continuous-integration
- Merge queues evolved from early scripts like Bors and Homu to modern solutions like GitHub and GitLab's built-in features.
- The 'Not Rocket Science' Rule by Ben Elliston in the early 2000s laid the foundation for merge queues by ensuring a repository always passes tests.
- Bors, created by Graydon Hoare for Rust in 2013, automated merging by testing PRs in a temporary branch before promoting them to main.
- Homu, a more general tool by Barosl Lee, extended Bors' functionality and became widely adopted in open-source projects.
- Bors-NG, a modern successor to Homu, offered improved speed and usability, becoming popular before GitHub's native merge queue.
- Industry solutions like Bulldozer, Mergify, and Kodiak emerged in the late 2010s to automate PR merging and updating.
- GitLab introduced Merge Trains in 2019, providing built-in merge queue functionality for GitLab users.
- Large companies like Uber, Shopify, and Strava developed internal merge queue systems to manage high-velocity code integration.
- GitHub's Merge Queue, launched in 2023, brought native merge queue support, validating the concept and making it mainstream.
- Merge queues have become essential for maintaining stable main branches in modern software development, evolving from niche tools to standard practice.