Testing
Test packages (PR/MR/CI/CD)
You can use spack to test a PR/MR in your CI pipeline. This is a common way to do it.
# cd into the packages repo!
$ git clone --depth 1 --recurse-submodules --shallow-submodules -b v0.20.1.0 https://github.com/C2SM/spack-c2sm.git
$ . spack-c2sm/setup-env.sh
$ spack dev-build --test=root --show-log-on-error <package> @develop <variant>
You can also use spack in your end-to-end tests. This is a common way to do it.
$ spack install --test=root --show-log-on-error <package> @<version> <variant>
Pull Request Testing for spack-c2sm on GitHub
To test a PR, create a comment launch jenkins
.
Supported machines:
balfrin
Jenkins test with uenv
To test spack-c2sm with an uenv, add a stage
stage('Create uenv') {
steps {
sh """
git clone -b fix/jenkins https://github.com/eth-cscs/uenv.git
./uenv/install --yes --destdir=$WORKSPACE
source $WORKSPACE/etc/profile.d/uenv.sh
uenv repo create
uenv image pull mch/v8:rc2
"""
}
}
and run the tests in the uenv
source $WORKSPACE/etc/profile.d/uenv.sh
source ./setup-env.sh /user-environment
uenv run mch/v8:rc2 -- pytest -v -n auto test/integration_test.py