How GitHub uses merge queue to ship hundreds of changes every day
Mar 6, 2024Will Smythe, Lawrence Gripper

Summary
This post details the transition from an internal 'trains' system for managing pull request deployments to a generalized merge queue. It explains the pain points of the 'trains' system, including its complexity, impact on developer satisfaction, and limitations on deployment size. The merge queue is presented as a solution that improves developer experience by simplifying the shipping intent, preventing problematic pull requests from impacting others, and providing a consistent, automated process across repositories. The post highlights the scale of the merge queue's usage at GitHub, including the number of pull requests merged and CI runs, and quantifies the improvements in shipping velocity and developer satisfaction.