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 [<packages>] [<machines>].

It will test the listed packages on the listed machines. No package means all packages. No machine means all machines. The order is irrelevant.

Examples

  • launch jenkins int2lm daint tests int2lm on daint.

  • launch jenkins cosmo int2lm daint tsa tests

    • cosmo on daint

    • cosmo on tsa

    • int2lm on daint

    • int2lm on tsa

  • launch jenkins cosmo icon tests cosmo and icon on all machines.

  • launch jenkins daint tests all packages on daint.

  • launch jenkins tests all packages on all machines.

  • launch jenkins all tests all packages on all machines.

Supported packages: all folder names in folder packages.

Supported machines:

  • balfrin

  • daint

  • tsa