# 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.
+#
+# 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.)
# Test older gcc
# Test oldest supported CUDA
-# Test oldest supported cmake
# Test oldest supported Ubuntu
# Test X11 build
# Test MPI with CUDA
# Test MPMD PME with library MPI
-gcc-4.6 gpu cuda-5.0 mpi npme=1 nranks=2 openmp x11 cmake-2.8.8
-
-# Test newest gcc supported by newest CUDA shortly after the release
-# Test thread-MPI with CUDA
-# Test SIMD (AVX2_256) GPU code-path
-gcc-5 gpu cuda-8.0 openmp simd=avx2_256
+gcc-4.8 gpu cuda-6.5 mpi npme=1 nranks=2 openmp x11
# Test newest gcc supported by newest CUDA at time of release
# Test thread-MPI with CUDA
-gcc-4.8 gpu cuda-7.5 openmp release
+# Test SIMD (AVX2_256) GPU code-path
+gcc-5 gpu cuda-8.0 openmp release simd=avx2_256
-# Test with ThreadSanitizer
+# Test with ThreadSanitizer (without OpenMP, because of Redmine #1850)
# Test AVX2_256 SIMD
# Test fftpack fallback
gcc-4.9 tsan fftpack simd=avx2_256
# Test newest gcc at time of release
# Test on MacOS
-gcc-6.1 double
+gcc-6 double
# Test older clang
# Test double precision
-# Test with AddressSanitizer
# Test without OpenMP
-clang-3.4 double no-openmp fftpack asan
+clang-3.4 double no-openmp fftpack
+
+# Test newest clang at time of release
+# Test with AddressSanitizer (without OpenMP, see below)
+clang-4 no-openmp asan
# Test oldest supported MSVC on Windows
# Test newest supported MSVC on Windows
# Test MKL
# Test without any MPI
# Test on CentOS
-icc-16.0 no-thread-mpi openmp mkl cmake-3.3.2 simd=avx_256
+icc-16.0 no-thread-mpi openmp mkl cmake-3.6.1 simd=avx_256
+# Test oldest supported cmake
# Test AVX_128_FMA SIMD
-gcc-5 mpi openmp simd=avx_128_fma
+gcc-5 mpi openmp simd=avx_128_fma cmake-3.4.3
# Test NVIDIA OpenCL
# Test MPI + OpenCL
gcc-5 openmp opencl amdappsdk-3.0
# TODO
+# Add testing for support for cmake 3.8 for release-2017, e.g. to bs_mic and a CUDA slave (for the new CUDA support)
+# Add testing for support for gcc 7 for release-2017, e.g. to bs_mac
+# Add OpenMP support to a clang build, e.g. on a CUDA slave
+# Add OpenMP support to ASAN build (but libomp.so in clang-4 reports leaks, so might need a suitable build or suppression)
# Test hwloc support
-# Test newest supported Ubuntu
+# Test newest supported LTS Ubuntu
# Migrate ThreadSanitizer test off GPU build slave
+# Explore adding openmp to ThreadSanitizer configuration, perhaps can avoid Redmine #1850 if done differently
+# Update gpu testing specifiers per https://redmine.gromacs.org/issues/2161