Continuous Integration service at Fermilab

This paper describes the current architecture of Continuous Integration (CI) service developed at Fermilab, encountered successes and difficulties, as well as future development plans. The current experiment code has hundreds of contributors that provide new features, bug fixes, and other improvemen...

Full description

Bibliographic Details
Main Authors: Di Benedetto Vito, Podstavkov Vladimir, Fattoruso Michele, Coimbra Bruno
Format: Article
Language:English
Published: EDP Sciences 2019-01-01
Series:EPJ Web of Conferences
Online Access:https://www.epj-conferences.org/articles/epjconf/pdf/2019/19/epjconf_chep2018_05009.pdf
id doaj-9026e33c53f04ed981c28d775eb12d00
record_format Article
spelling doaj-9026e33c53f04ed981c28d775eb12d002021-08-02T08:45:37ZengEDP SciencesEPJ Web of Conferences2100-014X2019-01-012140500910.1051/epjconf/201921405009epjconf_chep2018_05009Continuous Integration service at FermilabDi Benedetto VitoPodstavkov VladimirFattoruso MicheleCoimbra BrunoThis paper describes the current architecture of Continuous Integration (CI) service developed at Fermilab, encountered successes and difficulties, as well as future development plans. The 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 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 Glidein-WMS. The CI service is under active development and planning to support code profiling.https://www.epj-conferences.org/articles/epjconf/pdf/2019/19/epjconf_chep2018_05009.pdf
collection DOAJ
language English
format Article
sources DOAJ
author Di Benedetto Vito
Podstavkov Vladimir
Fattoruso Michele
Coimbra Bruno
spellingShingle Di Benedetto Vito
Podstavkov Vladimir
Fattoruso Michele
Coimbra Bruno
Continuous Integration service at Fermilab
EPJ Web of Conferences
author_facet Di Benedetto Vito
Podstavkov Vladimir
Fattoruso Michele
Coimbra Bruno
author_sort Di Benedetto Vito
title Continuous Integration service at Fermilab
title_short Continuous Integration service at Fermilab
title_full Continuous Integration service at Fermilab
title_fullStr Continuous Integration service at Fermilab
title_full_unstemmed Continuous Integration service at Fermilab
title_sort continuous integration service at fermilab
publisher EDP Sciences
series EPJ Web of Conferences
issn 2100-014X
publishDate 2019-01-01
description This paper describes the current architecture of Continuous Integration (CI) service developed at Fermilab, encountered successes and difficulties, as well as future development plans. The 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 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 Glidein-WMS. The CI service is under active development and planning to support code profiling.
url https://www.epj-conferences.org/articles/epjconf/pdf/2019/19/epjconf_chep2018_05009.pdf
work_keys_str_mv AT dibenedettovito continuousintegrationserviceatfermilab
AT podstavkovvladimir continuousintegrationserviceatfermilab
AT fattorusomichele continuousintegrationserviceatfermilab
AT coimbrabruno continuousintegrationserviceatfermilab
_version_ 1721237287480590336