Upstream management

spack-c2sm is aware of multiple upstream instances providing pre-built dependencies. This is important for efficient builds during CI. Additionally an overload of filesystems at CSCS is prevented because not every users install its own software stack.

Install upstream

The upstream instances are installed for each tag through a dedicated Jenkinks plan (Install upstream). Each new tag of spack-c2sm needs a new plan, it can simply be copied from existing one. The only thing to adapt is the default value of the spack-tag.

Uninstall upstream

The upstream instances are uninstalled for each tag through a common Jenkinks plan (Uninstall upstream) . No manual deletion of files in g110 needed. In case multiple tags of spack-c2sm use the same version of an upstream a mechanism is programmed that checks if a given upstream is still used for future releases. In that case the upstream is not removed.

Attention

Automatic deinstallation of upstreams is only implemented in spack-c2sm v0.18.1.4 and later! A check if an upstream is still in use in later releases is in place v0.18.1.6 and later.

_images/upstream_scheme.png

Installation scheme of upstream instances. If tag v0.18.0.5 is the oldest tag supported, the orange upstream instances can safely be removed.

Upgrade sysconfigs

To copy the alp’s env files from a new spack upstream, execute https://github.com/C2SM/spack-c2sm/blob/main/sysconfigs/copy_alps_env_files_from.sh from anywhere. The script acts relative to its own location, not the current working directory.