PulseExploreJournal ClubDebatesTrendingResearchersJournals
Instagram
HomeExploreJournal ClubTrending
Synapse
⌘+K
Synapse
February 5, 20260 citations

Thoroughly testing and integrating hundreds of Pull Requests per month: ROOT’s new Cost-efficient and Feature Rich GitHub-based CI

View Full Paper
ZZZhe ZhangANAxel NaumannSMShahzad Muzaffar

Key Points

  • This research aims to assess the transition of ROOT’s continuous integration system from Jenkins to GitHub Actions.
  • Analysis of the transition process from Jenkins to GitHub Actions.
  • Evaluation of the testing strategy and implementation of the new CI system.
  • Assessment of cost-benefit ratios comparing Jenkins and GitHub Actions.
  • ROOT merges over 1500 pull requests annually, requiring robust integration processes.
  • GitHub Actions significantly reduces testing time to under one hour for thousands of tests.
  • The new system improves cost-efficiency while maintaining high code quality standards.

Abstract

ROOT is an open source framework, freely available on GitHub, at the heart of data acquisition, processing and analysis of HE(N)P experiments, and beyond. It is developed collaboratively: contributions are not authored only by ROOT team members, but also by the user community at large: developers and scientists from universities, labs as well as the private sector. More than 1500 GitHub Pull Requests are merged on average per year. It is in this context that code integration acquires a primary role. The review of code contributions isn’t enough: not only they need to be thoroughly reviewed, they also need to be thoroughly tested through a powerful CI infrastructure on several different platforms to comply with the high code quality standards of the project. Since the end of 2023, ROOT moved its continuous integration system from Jenkins to GitHub Actions. In this contribution, we characterise the transition to the GitHub CI, focussing on our strategy, its implementation and the lessons learned, as well as the advantages the new system offers with respect to the previous one. Particular emphasis will be given to the evaluation of the cost-benefit ratio for Jenkins and GitHub Actions for the ROOT project. We also describe how we manage to run in less than one hour thousands of unit, integration, functional and end-to-end tests on different flavours of Windows, four versions of macOS, as well as about ten of the most used Linux distributions, taking advantage of the CERN computing infrastructure.

Ask AI
Helpful
Bookmark
Share
View Full Paper

Cite This Study

Zhang et al. (2025) studied this question.

synapsesocial.com/papers/698434ebf1d9ada3c1fb3a37https://doi.org/10.1051/epjconf/202533701006/pdf
Ask AI
Helpful
Bookmark
Share
View Full Paper