Cargando…

Automation and testing for simplified software deployment

Creating software releases is one of the more tedious occupations in the life of a software developer. For this purpose we have tried to automate as many of the repetitive tasks involved as possible from getting the commits to running the software. For this simplification we rely in large parts on f...

Descripción completa

Detalles Bibliográficos
Autores principales: Sailer, Andre, Petrič, Marko
Lenguaje:eng
Publicado: 2019
Materias:
Acceso en línea:https://dx.doi.org/10.1051/epjconf/201921405019
http://cds.cern.ch/record/2652730
_version_ 1780960988089024512
author Sailer, Andre
Petrič, Marko
author_facet Sailer, Andre
Petrič, Marko
author_sort Sailer, Andre
collection CERN
description Creating software releases is one of the more tedious occupations in the life of a software developer. For this purpose we have tried to automate as many of the repetitive tasks involved as possible from getting the commits to running the software. For this simplification we rely in large parts on free collaborative services available around GitHub: issue tracking, code review (GitHub), continuous integration (Travis-CI), static code analysis (coverity). The dependencies and compilers used in the continuous integration are obtained by mounting CVMFS into a docker container. This enables running any desired compiler version (e.g., gcc 6.2, llvm 3.9) or tool (e.g, clang-format, pylint). To create tags for the software package the powerful GitHub API is used. A script was developed that first collates the release notes from the description of each pull request, commits the release notes file, and finally makes a tag. This moves the burden of writing release notesfrom the package maintainer to the individual developer. The deployment of software releases to CVMFS is handled via GitLab-CI. When a tag is made the software is built and automatically deployed. In this paper we will describe the software infrastructure used for the iLCSoft and iLCDirac projects, which are used by CLICdp and the ILC detector collaborations, and give examples of automation which might be useful for others.
id cern-2652730
institution Organización Europea para la Investigación Nuclear
language eng
publishDate 2019
record_format invenio
spelling cern-26527302022-08-10T12:22:27Zdoi:10.1051/epjconf/201921405019http://cds.cern.ch/record/2652730engSailer, AndrePetrič, MarkoAutomation and testing for simplified software deploymentParticle Physics - ExperimentCreating software releases is one of the more tedious occupations in the life of a software developer. For this purpose we have tried to automate as many of the repetitive tasks involved as possible from getting the commits to running the software. For this simplification we rely in large parts on free collaborative services available around GitHub: issue tracking, code review (GitHub), continuous integration (Travis-CI), static code analysis (coverity). The dependencies and compilers used in the continuous integration are obtained by mounting CVMFS into a docker container. This enables running any desired compiler version (e.g., gcc 6.2, llvm 3.9) or tool (e.g, clang-format, pylint). To create tags for the software package the powerful GitHub API is used. A script was developed that first collates the release notes from the description of each pull request, commits the release notes file, and finally makes a tag. This moves the burden of writing release notesfrom the package maintainer to the individual developer. The deployment of software releases to CVMFS is handled via GitLab-CI. When a tag is made the software is built and automatically deployed. In this paper we will describe the software infrastructure used for the iLCSoft and iLCDirac projects, which are used by CLICdp and the ILC detector collaborations, and give examples of automation which might be useful for others.CLICdp-Conf-2018-013oai:cds.cern.ch:26527302019
spellingShingle Particle Physics - Experiment
Sailer, Andre
Petrič, Marko
Automation and testing for simplified software deployment
title Automation and testing for simplified software deployment
title_full Automation and testing for simplified software deployment
title_fullStr Automation and testing for simplified software deployment
title_full_unstemmed Automation and testing for simplified software deployment
title_short Automation and testing for simplified software deployment
title_sort automation and testing for simplified software deployment
topic Particle Physics - Experiment
url https://dx.doi.org/10.1051/epjconf/201921405019
http://cds.cern.ch/record/2652730
work_keys_str_mv AT sailerandre automationandtestingforsimplifiedsoftwaredeployment
AT petricmarko automationandtestingforsimplifiedsoftwaredeployment