What Lynn does » History » Version 10

« Previous - Version 10/67 (diff) - Next » - Current version
Lynn Garren, 05/06/2019 05:47 PM

What Lynn does

Build "third party" ups products as needed for art and larsoft

  • We have a defined procedure that uses a number of scriptlets found in the ssibuildshims product.
  • Each product has a tiny redmine repository for the build and bootstrap scripts.
    • Scripts include,,, and usually ups/xxx.table, where xxx is the product name.
    • We sometimes need patch files.
    • Other scripts are occasionally included, such as for geant4.
    • We tag these repositories with the product version.
  • To ensure reproducible builds, we only build from tagged releases. In rare cases, we use a commit hash.
  • We require that the source code be captured in a source code tarball for reproducible builds.
  • We bootstrap and run local test builds for the supported compiler options. This is a rapid turnaround development step.
    • Whenever possible, we run unit tests and require that these tests pass.
  • Once everything looks good, the source code tarball is uploaded to SciSoft.

Build art releases after they are tagged.

  • Kyle sends around an email to the SciSoft Team when a release is tagged.
  • Update information in build-framework/CMakeLists.txt
    • There are multiple branches for different product configurations
  • Run cmake to get the new build configuration files.
  • Check the new config files.
    • Always compare against the previous release.
  • If they are OK, use copyToSciSoft to install ONLY the appropriate build configuration files on SciSoft. There are html files for each release that also need to be installed.
    • canvas
    • art
    • gallery
    • critic
  • Start a Jenkins build
  • Sometimes there are problems with the build.
    • Investigate and fix.
    • A local test build is sometimes helpful, depending on the problem.
  • Once the build has completed successfully, download the tarballs locally and then upload them to SciSoft.
    • Work in an empty directory
    • copyFromJenkins -N -q c2 -q c7 -q e17 -q e19 critic-all
    • copyToSciSoft *

LArSoft release management

  • Advise and collect information for each weekly release.