Help us make Indico better by taking this survey! Aidez-nous à améliorer Indico en répondant à ce sondage !

19–25 Oct 2024
Europe/Zurich timezone

Development of Auto-Validation System of BOSS

MON 13
21 Oct 2024, 15:18
57m
Exhibition Hall

Exhibition Hall

Poster Track 6 - Collaborative software and maintainability Poster session

Speakers

Di Jiang (Institute of High Energy Physics, Chinese Academy of Sciences) Ye Yuan (Institute of High Energy Physics, Beijing)

Description

A modern version control system is capable of performing Continuous Integration (CI) and Continuous Deployment (CD) in a safe and reliable manner. Many experiments and software projects of High Energy Physics are now developing based on such modern development tools, GitHub for example. However, refactoring a large-scale running system can be challenging and difficult to execute. This is the reason why the BES Offline Software System (BOSS) continues to be developed using an outdated version control system, specifically, Concurrent Versions System (CVS). CVS does not automatically check the committed code during the commit process. To address this issue, a new auto-validation system has been developed, which overrides parts of the 'cvs' subcommand, enabling automatic code checks immediately after committing. Besides, with the integration of Gitlab, it includes functions designed for the convenience of developers and system managers, allowing them to work on multiple tasks simultaneously and automatically collects validated code. This approach strikes a balance between stability and innovation, allowing developers and system managers to enjoy the benefits of a modern-like version control system without having to much alter their work habits. The system is currently in use for the development and maintenance of BOSS.

Primary author

Di Jiang (Institute of High Energy Physics, Chinese Academy of Sciences)

Co-authors

Qiumei MA maqm Dr Xiaobin Ji (IHEP, CAS) Yao Zhang Ye Yuan (Institute of High Energy Physics, Beijing)

Presentation materials