GLAST performs automated builds of its C++ code base.These builds reflect a three-tiered approach to code development, allowingus to test and create releases, as well as get a view of new code submis-sions that will eventually make it into releases. The program responsiblefor these automated builds is called the Release Manager. It is basedon code originally written by Alex Schlessinger. Its main purpose is toprovide rapid feedback for developers when code changes occur. It con-sists of three loosely connected pieces: The batch submission interface,the Workflow manager, and the Release Manager scripts. The batch sub-mission interface is responsible for keeping track of submitted batch jobsand notifying users/programs using various methods when jobs changestatus. The Release Manager relies heavily on this interface to allowcode builds to happen on demand and in parallel. The workflow manageris a generic program responsible for moving from one state to anotherbased on criteria defined. These states are executed using the batch sub-mission program. Finally the Release Manager consists of scripts that areregistered as different states in the Workflow Manager. The Release Man-ager is currently able to run on Linux and Windows. It uses a MySQLdatabase to record its information. It is currently tightly tied to GLAST'sbuild tool, CMT. Other purposes of the Release Manager are to createsource packages for developers and binary packages for end users.
展开▼