Improving Merge Pipeline Throughput in Continuous Integration via Pull Request Prioritization
Maximilian Jungwirth, Martin Gruber, Gordon Fraser

TL;DR
This paper presents a method to improve merge pipeline throughput in continuous integration by prioritizing pull requests based on build success likelihood, using historical data and metadata, which outperforms traditional ordering strategies.
Contribution
The paper introduces a build prediction-based PR prioritization method that enhances merge pipeline throughput without relying on specific build systems.
Findings
Predictive PR ordering outperforms FIFO and non-learning strategies.
The approach is system-agnostic and easily integrable.
Significant throughput improvements demonstrated on large-scale projects.
Abstract
Integrating changes into large monolithic software repositories is a critical step in modern software development that substantially impacts the speed of feature delivery, the stability of the codebase, and the overall productivity of development teams. To ensure the stability of the main branch, many organizations use merge pipelines that test software versions before the changes are permanently integrated. However, the load on merge pipelines is often so high that they become bottlenecks, despite the use of parallelization. Existing optimizations frequently rely on specific build systems, limiting their generalizability and applicability. In this paper we propose to optimize the order of PRs in merge pipelines using practical build predictions utilizing only historical build data, PR metadata, and contextual information to estimate the likelihood of successful builds in the merge…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Software Engineering Techniques and Practices
