View that uses results of a nightly build

Many projects use scripts to run unattended software builds every night. The success or failure of these builds determine the impact of any checked-in changes on the application. In layered build environments, the builds can also provide up-to-date versions of lower-level software (for example, libraries and utility programs).

Suppose that every night, a script does the following operations:
  • Builds libraries in various subdirectories of /vobs/monet/lib
  • Checks them in as DO versions in the library staging area, /vobs/monet/lib
  • Labels the versions LAST_NIGHT
You can use the following config spec if you want to use the libraries that are produced by the nightly builds:
(1)
element * CHECKEDOUT
(2)
element lib/*.a LAST_NIGHT
(3)
element lib/*.a R2_BL2
(4)
element * /main/LATEST

The LAST_NIGHT version of a library is selected whenever such a version exists (Rule 2). If a nightly build fails, the previous build still has the LAST_NIGHT label and is selected. If no LAST_NIGHT version exists (the library is not currently under development), the stable version labeled R2_BL2 is used instead (Rule 3).

For each library, selecting versions with the LAST_NIGHT label rather than the most recent version in the staging area allows developers to stage new versions the next day, without affecting developers who use this config spec.