Preparing a Geant4 Release

Several scenarios for release are possible. Common option is a new release of Geant4 to accompany new LHCb and Gaudi releases, without any impact on Geant packages themselves. The other case is when a new version of Geant4 source itself is available. Part of the release procedure are common, other specific to the two cases.

Release for new Gaudi (LHCb) release

This is needed when Gauss will depend on a version of LHCb build with a Gaudi version different than the one used for an already released Geant4 (e.g. 9.4.p02). The convention for a release is that the Geant4 source version if reflected in the major and revision number while the build or LHCb fixes are indicated with the patch, e.g. for 9.4.p02 one can have v94r2 , v94r2p1, v94r2p2, etc.

This type of release is generally based on an already existing tagged release, e.g. v94r2, and require only a minor change in three places: Geant4/G4config, Geant4Sys and project.cmt.

To branch or not to branch?

If it is the first time that a new build for the same source of Geant4 is made and changes are already present in the trunk make a branch to allow working on this, for packages Geant4Sys and G4Config . You should start from the latest available version for this series, e.g. v92r2p3 . If the branch already exist it can be used for further pX releases. If no changes have been put in the trunk the changes can be made there.

To make the branches copy from a tag version to a branch with the same major and revision number followed by a b, e.g.

   svn cp svn+ssh:// svn+ssh://
   svn cp svn+ssh:// svn+ssh://

Changes in G4config and Geant4Sys

  1. Get a local copy of the packages, in case you are working on a branch you should specify the branch in getpack:
      getpack Geant4/G4config v94r2b
  2. Update cmt/requirements with the intended Geant4 release version, e.g. v94r2p5 , and put a line for the corresponding change in doc/release.notes.
  3. Commit the changes
  4. Tag the packages, in case you are working an a branch you must specify so when running the script:
      tag_package -b v92r2b Geant4/G4config v92r2p5 

Do the same for Geant4Sys.

Changes in project.cmt

Finally, update the project to use the new Gaudi version. Since this is usually the last thing done before a release is done, usually this can be done in the trunk and the instruction below are given for that. If it may be necessary to do it in a branch it is a little bit different than for usual packages, hence contact the Gauss coordinator to do so or core software experts.

To update the project.cmt:

  1. Get the bare project
      getpack -P GEANT4 HEAD 
  2. Modify GEANT4_HEAD/project.cmt
  3. Commit the changes
  4. Tag the updated version of the project for release
      tag_package -P Geant4 v94r2p5 

Release for new Geant4 source

Update of the lhcb-prerelease nightly

Once everything is tagged, the nightly slots should be updated to pick up the new version and ensuring nothings has been forgotten and Gauss can be built and run with it. Ask the Gauss coordinator to do so.

Update of the Tag Collector

You should check the Tag Collector for package updates, ensure that individual packages these have their local version numbers revised, have been tagged, and that this set of tags is consistent with those requested in Geant4Sys/cmt/requirements. Remember to update the release notes in Geant4Sys/doc/release.notes to describe the various Geant4 package updates (copy from individual package release.notes).

Request for deployment in savannah

Once all checks in the nightlies are successful, a request for deployment in the release area, cvmfs and on the grid should be submitted via the task tracker of the LHCb Deployment Savannah project. Put in the cc mailing list notification at the bottom of the form.

-- NigelWatson - 11-Oct-2012

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r5 - 2012-11-24 - NigelWatson
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback