Versions Compared

Key

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

...

Brian presents a StrawMan Release Workflow

Image Added        Image Added

  • commit/tag 
    • Release  = commit + tag
    • Travis or Jenkins driven 
      • sets ENV vars
  • INIT WS
    • Use reporman to init workspace
      • workspace only works currently for ST and GR due to need for packagelist.  Could use packageLib.py to determine dependencies and requirements to allow per package builds.
    • If including extlibs into containers, every part of this setup would be part of the containers.
  • Code Generation and DOxygen
    • Code Generation (SWIG) but that is done in SCons
    • Really just doxgygen for now
  • Compile
    • In Jenkins or Travis this would do a loop over available systems to build and variants
      • CentOS6, Mac, CentOS7 - this info comes from?  which is currently in RM DB.. Brian would like to put that in the repository, due to a desire to avoid putting those credentials into Travis. Could have additional matrix for the compilers to use.
    • SCons builds the unit tests too
  • TEST
  • Package
    • package env that the build used, including dependencies and externals, which can ultimately be pulled into a container
    • SCOns currently create the tarball and the setup scripts
  • Validate
    • We don't currently have any system tests for ST, we do have some for GR which are not currently run as part of RM, it would be nice to reactivate for this for releases.
  • Deploy
    • Moving tar balls from workspace into NFS to CVMFS
    • Containers (Singularity) will link to CVMFS and includes xrootd installed
    • Could deploy to conda too

...