Skip to content

separate Lab-specific configuration files

Eleni Mathioulaki requested to merge lab-packages into ebrains-23-02

This:

  • moves the EBRAINS Lab-specific Spack configuration file (packages.yaml) into its own site-config directory (see !319 (closed), !329 (merged))
  • removes from spack.yaml any packages that should only be installed in the Lab (see #36 (closed)). Those packages are included in a secondary spack.yaml file placed inside the site-config directory.
  • modifies the build scrips/jobs to enable the above: a simple script is used to merge the two spack.yaml files when the environment is activated (for now just a hacky parser to avoid introducing any dependencies, but it will be replaced with sth more robust)

To activate and install the environment, the steps needed are (can also be found in install_spack_env.sh):

# activate environment
spack env activate $EBRAINS_ENV_NAME

# update environment site-configs
rm -rf $SPACK_ENV/site-config && cp -r site-config $SPACK_ENV

# update spack.yaml: merge top-level and site-specific spack.yaml files
bash site-config/ymerge.sh spack.yaml site-config/$SYSTEMNAME/spack.yaml > $SPACK_ENV/spack.yaml

# remove the .lock file and let the environment be concretized by the spack install command:
rm $SPACK_ENV/spack.lock || echo "No spack.lock file"

# install the environment
spack install --fresh --test root

Merge request reports