Evolution of CI Pipeline Complexity: Impact on Build Performance
K. Lee (TU Delft - Electrical Engineering, Mathematics and Computer Science)
Sebastian Proksch – Mentor (TU Delft - Software Engineering)
S. Huang – Mentor (TU Delft - Software Engineering)
Marco A. Zuñiga Zamalloa – Graduation committee member (TU Delft - Networked Systems)
More Info
expand_more
Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Abstract
Continuous Integration (CI) has become a fundamental practice in modern software development. Organizations increasingly adopt complex pipeline configurations to automate their build, test, and deployment processes. Well-optimized CI/CD pipelines offer significant benefits in deployment reliability, team productivity, and code quality. As these pipelines become more complex, defined by the number of jobs and steps in this paper, there is limited empirical evidence on how this evolution affects key performance metrics. This study addresses this gap by investigating the relationship between pipeline complexity and performance outcomes. By analyzing data from over 194 open-source GitHub repositories, we reveal that while increased complexity generally correlates with longer build durations, the impact on success rates is less direct. More importantly, we found that strategic modifications to pipeline configuration files (i.e., line changes) were frequently associated with significant performance improvements, including shorter build durations and fix times. This research provides guidance for practitioners. Rather than asking whether to increase or decrease pipeline complexity, our findings show that the focus should be on the method of change. We recommend prioritizing small, iterative maintenance activities, which consistently improve performance, over large-scale tool migrations, which have unpredictable outcomes. This approach enables teams to evolve their pipelines while mitigating the risks associated with growing complexity.