Title
Keeping Master Green at Scale
Abstract
Giant monolithic source-code repositories are one of the fundamental pillars of the back end infrastructure in large and fast-paced software companies. The sheer volume of everyday code changes demands a reliable and efficient change management system with three uncompromisable key requirements --- always green master, high throughput, and low commit turnaround time. Green refers to a master branch that always successfully compiles and passes all build steps, the opposite being red. A broken master (red) leads to delayed feature rollouts because a faulty code commit needs to be detected and rolled backed. Additionally, a red master has a cascading effect that hampers developer productivity--- developers might face local test/build failures, or might end up working on a codebase that will eventually be rolled back. This paper presents the design and implementation of SubmitQueue. It guarantees an always green master branch at scale: all build steps (e.g., compilation, unit tests, UI tests) successfully execute for every commit point. SubmitQueue has been in production for over a year, and can scale to thousands of daily commits to giant monolithic repositories.
Year
DOI
Venue
2019
10.1145/3302424.3303970
Proceedings of the Fourteenth EuroSys Conference 2019
Field
DocType
ISBN
Codebase,Commit,Computer science,Unit testing,Software,Change management (ITSM),Turnaround time,Garbage collection,Big data,Operating system,Distributed computing
Conference
978-1-4503-6281-8
Citations 
PageRank 
References 
2
0.36
0
Authors
7