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
-
-
- CMake setup
-
-
Development and maintenance of
globalsource code category -
Release Management
-
Software quality control
-
-
- Support for Bugzilla problem reporting and JIRA user requirements systems
-
- User Requirements Coordinator
Contributors
Responsible categories
-
Jenkins/CDash Continuous Integration infrastructure
-
Coverity static analysis reporting
Ongoing Activities
Geant4 Release and Reference Tags
- User support for installation and setup.
- Release Management.
- Release preparation (compile time and runtime checks).
- Build of binary releases.
- Contribute to and support packaging of Geant4 by downstream package managers (spack, conda, homebrew, Debian, gentoo).
Geant4 User Requirements and Support
- Capture, assignment and tracking of new and existing requirements (in collaboration with all Working Groups and users).
- Support for collaboration JIRA requirements tracker.
- Support for public Bugzilla problem tracking tool.
- Support for Discourse forum.
- Support for public LXR and Doxygen source code documentation hosting.
Support for Geant4 Tools, Services and Servers
- Support for collaboration GitLab/Hub organizations, repositories and tools.
- Support for Jenkins and CDash testing system.
- Support for Coverity static analysis tool.
- Support for physics/collaboration data and management websites (in collaboration with Documentation Working Group).
- Support and maintenance for collaboration management databases.
- Support and maintenance for
Geant4Config.cmake,geant4-configbuild helpers.
2026 Development Topics (DRAFT)
- Continue preparation of Geant4 libraries for modularization
- Identify libraries for merging or splitting, including optional components that a user may choose to drop/add to the build (in collaboration with all Working Groups).
- Identify and reduce dependencies between components where possible.
- Review and report on use of GitLab/Hub CI to replace Jenkins
- Use for production of binary packages.
- Prepare migration plan for full CI workflows.
- Update documentation, unit testing, and CPU/memory benchmarking of numerical methods and data structures used across toolkit (in collaboration with all Working Groups).