EPJ Web of Conferences (Jan 2019)

Building, testing and distributing common software for the LHC experiments

  • Cervantes Villanueva Javier,
  • Ganis Gerardo,
  • Konstantinov Dmitri,
  • Latyshev Grigorii,
  • Mato Vila Pere,
  • Mendez Lorenzo Patricia,
  • Pacholek Rafal,
  • Razumov Ivan

DOI
https://doi.org/10.1051/epjconf/201921405020
Journal volume & issue
Vol. 214
p. 05020

Abstract

Read online

Building, testing and deploying of coherent large software stacks is very challenging, in particular when they consist of the diverse set of packages required by the LHC experiments, the CERN Beams Department and data analysis services such as SWAN. These software stacks include several packages (Grid middleware, Monte Carlo generators, Machine Learning tools, Python modules) all available for a large number of compilers, operating systems and hardware architectures. To address this challenge, we developed an infrastructure around a tool called lcgcmake. Dedicated modules are responsible for building the packages, con-trolling the dependencies in a reliable and scalable way. The distribution relies on a robust and automatic system, responsible for building and testing the packages, installing them on CernVM-FS and packaging the binaries in RPMs and tarballs. This system is orchestrated through Jenkins on build machines provided by the CERN Openstack facility. The results are published through user-friendly web pages. In this paper we will present an overview of these infrastructure tools and policies. We also discuss the role of this effort within the HEP Software Foundation (HSF). Finally we will discuss the evolution of the infrastructure towards container (Docker) technologies and the future directions and challenges of the project.