JACoW logo

Journals of Accelerator Conferences Website (JACoW)

JACoW is a publisher in Geneva, Switzerland that publishes the proceedings of accelerator conferences held around the world by an international collaboration of editors.


BiBTeX citation export for MO2BCO07: Continuous Integration and Debian Packaging for Rapidly Evolving Software

@inproceedings{barker:icalepcs2023-mo2bco07,
  author       = {A.W.C. Barker and J. Georg and M. Hierholzer and M. Killenberg and T. Kozak and D. Rothe and N. Shehzad and C. Willner},
% author       = {A.W.C. Barker and J. Georg and M. Hierholzer and M. Killenberg and T. Kozak and D. Rothe and others},
% author       = {A.W.C. Barker and others},
  title        = {{Continuous Integration and Debian Packaging for Rapidly Evolving Software}},
% booktitle    = {Proc. ICALEPCS'23},
  booktitle    = {Proc. 19th Int. Conf. Accel. Large Exp. Phys. Control Syst. (ICALEPCS'23)},
  eventdate    = {2023-10-09/2023-10-13},
  pages        = {61--65},
  paper        = {MO2BCO07},
  language     = {english},
  keywords     = {controls, software, database, framework, interface},
  venue        = {Cape Town, South Africa},
  series       = {International Conference on Accelerator and Large Experimental Physics Control Systems},
  number       = {19},
  publisher    = {JACoW Publishing, Geneva, Switzerland},
  month        = {02},
  year         = {2024},
  issn         = {2226-0358},
  isbn         = {978-3-95450-238-7},
  doi          = {10.18429/JACoW-ICALEPCS2023-MO2BCO07},
  url          = {https://jacow.org/icalepcs2023/papers/mo2bco07.pdf},
  abstract     = {{We describe our Jenkins-based continuous integration system and Debian packaging methods, and their application to the rapid development of the ChimeraTK framework. ChimeraTK is a C++ framework for control system applications and hardware access with a high level of abstraction and consists of more than 30 constantly changing interdependent libraries. Each component has its own release cycle for rapid development, yet API and ABI changes must be propagated to prevent problems in dependent libraries and over 60 applications. We present how we configured a Jenkins-based continuous integration system to detect problems quickly and systematically for the rapid development of ChimeraTK. The Debian packaging system is designed to ensure the compatibility of binary interfaces (ABI) and of development files (API). We present our approach using build scripts that allow the deployment of rapidly changing libraries and their dependent applications as Debian packages. These even permit applications to load runtime plugins that draw from the same core library, yet are compiled independently. }},
}