Jul 9 – 13, 2018
Sofia, Bulgaria
Europe/Sofia timezone

Continuous Integration service at Fermilab

Jul 12, 2018, 12:15 PM
Hall 3 (National Palace of Culture)

Hall 3

National Palace of Culture

presentation Track 5 – Software development T5 - Software development


Dr Vito Di Benedetto (Fermi National Accelerator Lab. (US))


This paper describes the current architecture of Continuous Integration (CI) service developed at Fermilab, encountered successes and difficulties, as well as future development plans. Current experiment code has hundreds of contributors that provide new features, bug fixes, and other improvements. Version control systems help developers to collaborate in contributing software for their experiments, while the CI system helps developers to keep their code healthy. The Fermilab CI service allows experiments and projects to test and validate their offline production and analysis code on the supported platforms. It is built on top of Jenkins, designed to be set up from a configuration file that provides implementation for each phase of the CI workflow, and able to validate experiment code through grid jobs. This CI service provides a dashboard for easy access to logs and statistical graphs. Since the CI service has been adopted by Fermilab experiments/projects, it proved to be very useful to intercept issues in their code early on and get them fixed before running it in production. Currently the CI service is in use by the ArgoNeuT, DUNE, g-2, LArIAT, MINERvA, mu2e, NOvA, SBND and uBooNE experiments and by the following projects: ART and LArSoft software suites, GENIE, and GlideinWMS. The CI service is under active development, planning to support code profiling.

Primary authors

Dr Vito Di Benedetto (Fermi National Accelerator Lab. (US)) Vladimir Podstavkov (Fermi National Accelerator Lab. (US)) Michele Fattoruso (Fermi National Accelerator Lab. (US)) Bruno Coimbra (Fermi National Accelerator Lab. (US))

Presentation materials