The deleteBuild program is basically the more user friendly interface to the eraseBuild program.  Instead of having to know the buildId value from the build database table to trigger the erasure, the user can specify the package type, version type, os, etc. to delete the build.  In addition, deleteBuild allows for multiple builds to be deleted at a single time at it finds all the builds that match the specified parameters.  Thus you can specify the version type (i.e. Integration, Release, Release Candidate), the version number and the package and delete all the builds across all operating systems with a single command. The program prompts for confirmation before starting the deletion process.

The parameters accepted by deleteBuild are:

  • --package - This specifies the package to be deleted and must correspond to one of the package names in the package database table.  This parameter is required.
  • --versionType - This is the type of build to delete.  It must be one of Integration, Release, or "Release Candidate", corresponding to LATEST, Release, and HEAD builds.  Note that the "Release Candidate" version type must be enclosed in quotation marks (") to ensure proper parsing of the command line parameters. This parameter is required.
  • --os - The OS of the build to delete.  This must correspond exactly to one of the osName entries in the os database table.  This parameter is optional.  If omitted, all build that match the other parameters will be selected for deletion.
  • --variant - This can have a value of either Debug or Optimized.  This parameter is optional.  If omitted, all build that match the other parameters will be selected for deletion.
  • --version - The version number of the specific version type to be deleted.  For Integration and Release Candidate builds, this is simply an integer.  For Release builds it is a version string of the form VV-RR-PP, where VV, RR, and PP are the version, revision, and patch version numbers of the build.  i.e. as of this writing the current release build of the Science tools is 09-33-00.
  • --complete - This optional flag signals that the database entry for the build should also be removed from the [build] database table.  If not specified, the files and directories associated with the build are deleted but the database entry remains, preventing the build from automatically retriggering.  If this parameter is specified, the database entry will be removed (see eraseBuild for a description) and the build will be automatically retriggered by the Release Manager on its next check.
  • --listOptions - Calling deleteBuild with only this option lists out all the possibilities for the package, versionType, variant, os flags.

Note:  This program currently relies on the LSF batch queuing system to launch the eraseBuild program for each of the targeted builds.  As such it will only work on build located on the NFS file system accessible from the batch machines.  In order to work with Jenkins (i.e. on the Mac and Windows), the 'Erase' workflow target will have to be overridden or maybe more sensibly, replayed by a new target and line 211 of the deleteBuild.cxx file updated with the name of the workflow script.

 

 

 

  • No labels