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

Show responsibility

  • Ben Morgan(coordinator)

    • CMake setup and support

    • Support for Discourse Forum

  • Gunter Folger(deputy)

    • Support for web and development tools/infrastructure

    • Build/Deployment of binary releases

  • Gabriele Cosmo

    • Development and maintenance of global source code category

    • Release Management

    • Software quality control

  • Koichi Murakami

    • Support for Bugzilla problem reporting and JIRA user requirements systems
  • Igor Semeniouk

    • CMake/install support for Windows

Responsible categories

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 and support Geant4 packages in downstream package managers (spack, conda, homebrew, Debian, gentoo) (Ben Morgan)
  • Build Docker containers for tutorial/example use (Ben Morgan)

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 public Bugzilla problem tracking tool (Koichi Murakami)
  • Support for physics/collaboration data and management websites (Ben Morgan, Gunter Folger, in collaboration with Documentation Working Group)
  • Support for Discourse forum (Ben Morgan)
  • Support for public LXR and Doxygen source code documentation (Koichi Murakami)
  • Support for collaboration JIRA requirements tracker (Koichi Murakami)
  • Support and maintenance for Geant4Config.cmake, geant4-config build helpers (Ben Morgan, Gabriele Cosmo)

2023 Development Topics

  1. Geant4 Tools and Releases
    • Add/Support additional platforms and configurations for testing, e.g. VecGeom on Windows.
    • Review use and integration of performance monitoring tools (in collaboration with Testing and Quality Assurance Working Group)
    • Review locations and documentation for unit and integration tests
  2. Global Category (Gabriele Cosmo, Ben Morgan)
    • Review mandatory and optional compiler flags needed to build and link to Geant4
    • Review optimization levels and options for Release builds
  3. Modularization of Geant4 Libraries (Ben Morgan)
    • 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
  4. Data libraries (Ben Morgan)
    • Discuss potential for development/publication of libraries using GitLab/CVMFS
  5. Configuration/Build tools for User Applications (Ben Morgan)
    • Provide pkg-config scripts for use by non-CMake build tools