Release Manager: An Overview

With few commands, the Release Manager (RM) performs checkout, builds the code, runs unit tests, and - depending on the nature of tags applied to code elements - performs different functions based on specifications in the requirements files of a given checkout package and its constituents.

Approximately every 15 minutes, the RM checks the CVS repository. For each top-level container package being monitored (EngineeringModel, GlastRelease, and ScienceTools), and depending on the tags that have been applied to code elements since the last time it checked, the RM will:

  • Checkout
  • Compile
  • Create Doxygen output
  • Link, and run all available unit tests for the constituent packages

The RM also:

  • Tracks Releases, HEAD, and LATEST builds
  • Builds multiple configurations of each build (i.e., for each operating system and compiler, e.g., rh9_gcc32, rh9_gcc_32opt, VC8, and VC8debug)

Note: Builds are submitted to a batch system, allowing multiple builds to be performed simultaneously.

Build results are stored and include:

  • Container package version
  • Constituent package version
  • Start times
  • Completion status
  • Build logs
  • Unit test results

Note: Depending on build type (Release, HEAD, or LATEST), the RM creates:

  • A summary of the build
  • Web links to release notes detailing differences from the previous version
  • Links to the Doxygen output
  • ViewCVS web view of constituent package versions
  • Source code archives

Compile data is also tracked and the results are available in Confluence; package owners are notified by email of any failures.

For release builds (EngineeringModel, GlastRelease, and ScienceTools), the RM runs system tests and creates code installers. Binary distributions, including external library distributions, are also created.

Source code archives are maintained for HEAD builds.

Note: Old builds are periodically cleaned out in order to preserve disk space.

RM's Overview (Home) Page

Note: To return to the Release Manager's "Overview" (i.e., home) page at any time, click on either the Overview or the Release Manager link.   For the functionality of the View Hidden and View Old Tag Yes/No toggle selections, see Red-Dot Summary, View Hidden and/or Old Tags.

From the Release Manager's "Overview" (i.e., Home) page, you can:

And you can:

  • View the Status of Batch Jobs by clicking on the Batch Submission link to list detailing ID and status of batch jobs running

Login

Note: You do not need to login in order to view much of the content in the Release Manager. However, if you are a developer, you will want to login in order to be able to perform various functions.

To login

  1. Click on the Login link in the upper right corner of the screen.

    The following data entry fields will be displayed.

  1. Enter your SLAC UNIX username and password.

    Note: If you do not have a SLAC UNIX account, see Prerequisites: Basic.

  1. Click on the Login button.
 

Archiving

Archiving functionality provides for backup to tape.

Note: For security reasons, you can no longer Delete, Verify, or Restore a module from the Archiving list:

You can, however, perform these functions from the command line. A script (archiver.pl) for the commands is located in:

/afs/slac.stanford.edu/u/gl/glast/infraBin/Archiver

The help output from the script is shown below:

Usage archiver.pl [options] [action]
action: archive, delete, restore
option:
--path path from which to archive or to which to
restore to. Default /
--module namespace under which archiving will take
place. Default 'Manual'
--size maximum size of tar files before a new one
starts in KB. Default: 10GB
--file name of file/directory to archive. May be
specified multiple times.
--callback callback to call when archive completes.
Format: user:<username> to receive email or script:<script path> to execute script.
--method archiving method. Default astore
--user username under which the archiving should
take place. Default user
--name name to give archive.

At the bottom of the Archiving page, you can also Add new archive by providing the following information and then clicking on the Add link located in the bottom right corner:

Tip: Functionally, astore and mstore perform similarly; however, astore hardware is newer, faster, and can handle larger archives.

 

RM Log

To view the RM log, you must be logged in.

Notes:

  • Pulldown Menu. From the pulldown menu, you can select view All (i.e., the default is the entire log), or you can select the log for the modules you are interested in and click the Select button.
  • ID. If you know the ID for the module you are interested in, you have the option of entering that number in the ID data entry field. and then clicking the Select button.
  • Page Links. Click on the blue numbers in the upper left of the page to access different pages within the list.
  • Green Up/Down Arrows. Use the green up and down arrows in the heading of the Module and ID columns to control ascending or descending order of the listing.
 

Release Manager Status

The normal Release Manager Status display is:

rh9_gcc32 opt and VC8, respectively, are optimized builds for Linux and Windows supported platforms; rh9_gcc32 and VC8debug are unoptimized builds.

Related Topics

 

 


 

Last updated by: Chuck Patterson 01/18/2007