Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

RM, the Narrow View
Table of Contents

This section concerns only the code under grits-cpp/ReleaseManager and the databases it talks to.

Application-level functions used by Fermi

...

There is considerably more, and more complicated, code talking directly to rd_releaseMgr.  There have been maintenance updates (not exactly frequent, but steady at a low level) right along. Speaking very roughly, the function of this code is, based on data in rd_releaseMgr and on information (about package structure and tags) gleaned from the code repository,  to decide what builds are necessary to create (or delete).  It then does the necessary operations, including updating the database and, in the case of LATEST builds, creating tags in the code repository.

If we used Jenkins for all builds we could perhaps vastly simplify the workflow section of the code.  If we also stopped using lsf maybe we could replace both the workflow and lsf code with something much more streamlined.  For the rest, I don't see any clear path to something significantly simpler.

The RM Ecosystem

In addition to the core functions described above, there are several others which depend to some degree on RM being constituted more or less as it currently is.  For the most part this boils down to a dependence on the rd_releaseMgr database and tagging conventions.