Commit 0c67fee6 authored by Philip Carns's avatar Philip Carns

revise cooley tests

- use local pwd for tmp files (easier cleanup in CI environments)
- manually generate repos.yaml without perturbing ~/.spack
- copy packages.yaml into place without perturbing ~/.spack
parent 0934b046
......@@ -23,73 +23,14 @@ git clone git@xgitlab.cels.anl.gov:sds/sds-repo
spack repo add .
```
# edit .spack/linux/packages.yaml to look like this:
```
packages:
openssl:
paths:
openssl@1.0.2k: /usr
buildable: False
cmake:
paths:
cmake@3.9.1: /soft/buildtools/cmake/3.9.1
buildable: False
autoconf:
paths:
autoconf@2.69: /soft/buildtools/autotools/feb2016
buildable: False
automake:
paths:
automake@1.15: /soft/buildtools/autotools/feb2016
buildable: False
bzip2:
paths:
bzip2@1.0.6: /
buildable: False
bison:
paths:
bison@3.0.4: /
buildable: False
flex:
paths:
flex@2.5.37: /
buildable: False
coreutils:
paths:
coreutils@8.22: /usr
buildable: False
zlib:
paths:
zlib@1.2.7: /usr
buildable: False
tar:
paths:
tar@1.26: /
buildable: False
gettext:
paths:
gettext@0.19: /usr
buildable: False
ncurses:
paths:
ncurses@5.9: /usr
buildable: False
tcl:
paths:
tcl@8.5.13: /usr
buildable: False
ssg:
variants: +mpi
libfabric:
variants: fabrics=verbs,rxm
all:
providers:
# prefer MPICH by default
mpi: [mpich,openmpi]
```
This directory contains a packages.yaml that should be copied to one of the spack
configuration locations documented here: https://spack.readthedocs.io/en/stable/configuration.html . This could be your ~/.spack/linux/ directory, for example.
The automation scripts in this directory use $SPACK_ROOT/etc/spack to avoid
perturbing the account on which the regression tests are executed.
```
# compile everything and load module for ssg
# note that the --dirty option is needed because gcc 7.1 on cooley only works if it can inherit LD_LIBRARY_PATH from softenv
spack install --dirty ssg
spack load -r ssg
```
packages:
openssl:
paths:
openssl@1.0.2k: /usr
buildable: False
cmake:
paths:
cmake@3.9.1: /soft/buildtools/cmake/3.9.1
buildable: False
autoconf:
paths:
autoconf@2.69: /soft/buildtools/autotools/feb2016
buildable: False
automake:
paths:
automake@1.15: /soft/buildtools/autotools/feb2016
buildable: False
bzip2:
paths:
bzip2@1.0.6: /
buildable: False
bison:
paths:
bison@3.0.4: /
buildable: False
flex:
paths:
flex@2.5.37: /
buildable: False
coreutils:
paths:
coreutils@8.22: /usr
buildable: False
zlib:
paths:
zlib@1.2.7: /usr
buildable: False
tar:
paths:
tar@1.26: /
buildable: False
gettext:
paths:
gettext@0.19: /usr
buildable: False
ncurses:
paths:
ncurses@5.9: /usr
buildable: False
tcl:
paths:
tcl@8.5.13: /usr
buildable: False
ssg:
variants: +mpi
libfabric:
variants: fabrics=verbs,rxm
all:
providers:
# prefer MPICH by default
mpi: [mpich,openmpi]
......@@ -11,13 +11,14 @@
# exit on any error
set -e
SANDBOX=~/tmp/mochi-regression-sandbox-$$
PREFIX=~/tmp/mochi-regression-install-$$
JOBDIR=~/tmp/mochi-regression-job-$$
SANDBOX=$PWD/mochi-regression-sandbox-$$
PREFIX=$PWD/mochi-regression-install-$$
JOBDIR=$PWD/mochi-regression-job-$$
# scratch area to clone and build things
mkdir $SANDBOX
cp spack-shell.patch $SANDBOX/
cp packages.yaml $SANDBOX/
# scratch area for job submission
mkdir $JOBDIR
......@@ -37,8 +38,15 @@ cd $SANDBOX/spack
patch -p1 < ../spack-shell.patch
export SPACK_SHELL=bash
. $SANDBOX/spack/share/spack/setup-env.sh
# put packages file in place in SPACK_ROOT to set our preferences for building
# Mochi stack
cp $SANDBOX/packages.yaml $SPACK_ROOT/etc/spack
# set up repos file to point to sds-repo; we do this manually because
# "spack repo add" will create files in ~/.spack, which is a bad idea in
# CI environments
echo "repos:" > $SPACK_ROOT/etc/spack/repos.yaml
echo "- ${SANDBOX}/sds-repo" >> $SPACK_ROOT/etc/spack/repos.yaml
spack bootstrap
spack repo add $SANDBOX/sds-repo
spack uninstall -R -y argobots mercury rdma-core libfabric || true
spack install --dirty ssg
# deliberately repeat setup-env step after building modules to ensure
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment