Closed dingp closed 3 years ago
The workflow of creating a new release may look like:
/cvmfs/dune.opensciencegrid.org/dunedaq/DUNE/products
(this step may be a manual step in the beginning, but may later be part of a CI workflow);/cvmfs/dune.opensciencegrid.org/dunedaq/DUNE/releases
and make symlinks to packages under /cvmfs/dune.opensciencegrid.org/dunedaq/DUNE/products
area.Renamed /cvmfs/dune.opensciencegrid.org/dunedaq/DUNE/releases
to /cvmfs/dune.opensciencegrid.org/dunedaq/DUNE/releases-tmp
to avoid confusions before we officially announce the release model.
As part of the DAQ release model, we are exploring how to organize a release.
The initial plan is to have separate directories for each DAQ release, in which only the version of packages used in the specific release are included. This will help both developer/user and release manager to get a clearer view of softwares used in certain release and minimize risks of using incompatible versions of a package in a given release.
The following proposed solution is for the near-term usage of UPS as our software packaging technique. It does not apply to other packaging techniques, e.g. spack. (
spack view
in combination with some homebrew scripts might be a nice solution to achieve similar goals. We will explore that in the future.)In the context of using UPS products, the release subdirectory can contain symbolic links to the versions of packages used or the actual package contents.
The following directory structure illustrates one proposed setup with symlinks under
releases
subdirectory to the chosen versions of UPS products under/cvmfs/dune.opensciencegrid.org/DUNE/products
.By default, the UPS products directory a user/developer needs to use is just the release subdirectory, in which only one version for each package is avalilable (i.e.
ups list -aK+
shows only one version for each package). Technichally, this is achived by only including thereleases/v1.0.0/packages
andreleases/v1.1.0/externals
in thePRODUCT
environment variable.If different versions of packages need to be used for development/test purpose, one can add the
/cvmfs/dune.opensciencegrid.org/dunedaq/DUNE/products
to thePRODUCT
env to get access to those.