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...
Main Authors: | , , , |
---|---|
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 |