Software Management
Purpose
The Geant4 Software Management working group is responsible for Geant4’s development, testing, and support systems. It also develops and supports build and packaging tools for the toolkit across Linux, macOS, and Windows platforms, together with the core G4global
library.
Members
-
-
CMake setup and support
-
Support for Discourse Forum
-
-
-
Support for web and development tools/infrastructure
-
Build/Deployment of binary releases
-
-
-
Development and maintenance of
global
source code category -
Release Management
-
Software quality control
-
-
- Support for Bugzilla problem reporting and JIRA user requirements systems
-
- CMake/install support for Windows
-
- User Requirements Coordinator
Responsible categories
-
Jenkins/CDash Continuous Integration infrastructure
-
Coverity static analysis reporting
Ongoing Activities
Geant4 Release and Reference Tags
- User support for installation and usage (Ben Morgan, Gabriele Cosmo)
- Release Management (Gabriele Cosmo)
- Release preparation (runtime and compile time checks) (Gabriele Cosmo, Gunter Folger)
- Build of binary releases (Gunter Folger, Ben Morgan)
- Contribute to and support packaging of Geant4 in downstream package managers (spack, conda, homebrew, Debian, gentoo) (Ben Morgan)
Geant4 User Requirements and Support
- Capture, assignment and tracking of new and existing requirements (Krzysztof Genser, in collaboration with all working groups)
- Support for collaboration JIRA requirements tracker (Koichi Murakami)
- Support for public Bugzilla problem tracking tool (Koichi Murakami)
- Support for Discourse forum (Ben Morgan)
- Support for public LXR and Doxygen source code documentation (Koichi Murakami)
Support for Geant4 Tools, Services and Servers
- Support for collaboration GitLab, GitHub repositories and tools (Ben Morgan, Gabriele Cosmo)
- Support for Jenkins and CDash testing system (Ben Morgan, Gunter Folger)
- Support for Coverity static analysis tool (Gabriele Cosmo)
- Support for physics/collaboration data and management websites (Ben Morgan, Gunter Folger, in collaboration with Documentation Working Group)
- Support and maintenance for collaboration management databases (Gunter Folger, Ben Morgan)
- Support and maintenance for
Geant4Config.cmake
,geant4-config
build helpers (Ben Morgan, Gabriele Cosmo)
2025 Development Topics
- Modularization of Geant4 Libraries (Ben Morgan, Gabriele Cosmo) (Ongoing)
- Identify libraries/modules for merging or splitting, including optional modules that a user may choose to drop/add to the build
- Profile modularization scheme to ensure performance is not affected
- Configuration/Build tools for User Applications (Ben Morgan) (Ongoing, dependent on (1))
- Provide
pkg-config
scripts for use by non-CMake build tools
- Provide
- Investigate use of GitLab/Hub CI as a possible replacement for Jenkins (Ben Morgan, Gabriele Cosmo, Gunter Folger) (Ongoing)
- Review numerical methods and corresponding functions/classes used across toolkit for commonality and optimization (Ben Morgan, Gabriele Cosmo, in collaboration with all other Working Groups)(Ongoing).
- Update collaboration tools to use new CERN Authentication methods (Gunter Folger, Ben Morgan).