# Comment line(s) preceding each configuration document the main
# intent behind that configuration, so that we can correctly judge
# whether to preserve that during maintenance decisions.
#
# Other configurations might coincidentally test such configurations
# (e.g. because they are the current default), but it is appropriate
# to intend to teach each feature (or a feature combination) exactly
# once, and for the intent to be reflected precisely in the
# configuration syntax, so that the configurations are stable even
# if the defaults change in future.
#
# The phrase "at time of release" refers to either the initial
# GROMACS release from that branch, or the next expected release
# from that branch. (We will tend not to retroactively support
# newer infrastructure in CI, unless it's either easy or of
# high impact.)
#
# These configurations will be used to build and test the tarballs
# before the releases. These all build in release mode (ie with
# minimal assertions, as we intend the code to be built and used
# by end users).

# Test oldest supported gcc at time of release
# Test mpi support
# Test mdrun-only build
gcc-4.8 mpi mdrun-only release cmake-3.8.1

# Test static linking with gcc
# Test newest gcc at time of release
gcc-7 static release

# Test double precision
# Test with newest supported Intel compiler
icc-18 double release

# Test static linking with clang
# Test double precision
# Test newest supported clang version
clang-5 static double release cmake-3.6.1

# Test with GPU support
gcc-5 gpu cuda-8.0 release

# TODO items
# Avoid specifying cmake versions just to move jobs away from bs_nix-amd
