1 # Build, test, and install variously configured GROMACS installations.
3 # Initial build that always needs to pass before follow-up stages run
11 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
14 KUBERNETES_CPU_LIMIT: 8
15 KUBERNETES_CPU_REQUEST: 4
16 KUBERNETES_MEMORY_LIMIT: 8Gi
17 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
18 CMAKE_MPI_OPTIONS: "-DGMX_THREAD_MPI=ON"
19 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
20 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=Debug"
21 CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
22 CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
23 COMPILER_MAJOR_VERSION: 7
24 BUILD_DIR: simple-build
26 - echo $CMAKE_COMPILER_SCRIPT
27 - echo $CMAKE_EXTRA_OPTIONS
28 - echo $CMAKE_SIMD_OPTIONS
29 - echo $CMAKE_GPU_OPTIONS
30 - echo $CMAKE_MPI_OPTIONS
31 - echo $CMAKE_PRECISION_OPTIONS
32 - echo $CMAKE_BUILD_TYPE_OPTIONS
33 - echo $CMAKE_GMXAPI_OPTIONS
34 - if [[ -d $BUILD_DIR ]] ; then
35 echo "Cleaning up build directory" ;
36 rm -rf $BUILD_DIR && mkdir $BUILD_DIR ;
38 echo "Preparing new build directory" ;
43 -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
44 $CMAKE_COMPILER_SCRIPT
48 $CMAKE_PRECISION_OPTIONS
49 $CMAKE_BUILD_TYPE_OPTIONS
52 -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR -DGMX_COMPILER_WARNINGS=ON
53 2>&1 | tee cmakeLog.log
54 - awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
55 - if [ -s cmakeErrors.log ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
56 - cmake --build . -- -j8 2>&1 | tee buildLogFile.log
57 - cmake --build . --target tests -- -j8 2>&1 | tee testBuildLogFile.log
58 - awk '/warning/,/warning.*generated|^$/' buildLogFile.log testBuildLogFile.log
59 | grep -v "CMake" | tee buildErrors.log || true
60 - grep "cannot be built" buildLogFile.log testBuildLogFile.log | tee -a buildErrors.log || true
61 - cmake --build . --target install 2>&1 | tee installBuildLogFile.log
62 - if [ -s buildErrors.log ] ; then echo "Found compiler warning during build"; cat buildErrors.log; exit 1; fi
63 - ctest -D ExperimentalTest --output-on-failure | tee ctestLog.log || true
64 - awk '/The following tests FAILED/,/^Errors while running CTest|^$/'
65 ctestLog.log | tee ctestErrors.log
66 - xsltproc $CI_PROJECT_DIR/scripts/CTest2JUnit.xsl Testing/`head -n 1 < Testing/TAG`/Test.xml > JUnitTestResults.xml
67 - if [ -s ctestErrors.log ] ; then
68 echo "Error during running ctest";
74 junit: $BUILD_DIR/JUnitTestResults.xml
80 # Jobs running in first pre-build stage
82 .gromacs:base:configure:
85 stage: configure-build
88 KUBERNETES_CPU_LIMIT: 1
89 KUBERNETES_CPU_REQUEST: 1
90 KUBERNETES_MEMORY_LIMIT: 2Gi
91 CMAKE_COMPILER_SCRIPT: ""
92 CMAKE_EXTRA_OPTIONS: ""
93 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AUTO"
94 CMAKE_MPI_OPTIONS: "-DGMX_THREAD_MPI=ON"
95 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
96 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=Debug"
97 CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
99 - echo $CMAKE_COMPILER_SCRIPT
100 - echo $CMAKE_EXTRA_OPTIONS
101 - echo $CMAKE_SIMD_OPTIONS
102 - echo $CMAKE_GPU_OPTIONS
103 - echo $CMAKE_MPI_OPTIONS
104 - echo $CMAKE_PRECISION_OPTIONS
105 - echo $CMAKE_BUILD_TYPE_OPTIONS
106 - echo $CMAKE_GMXAPI_OPTIONS
107 - if [[ -d $BUILD_DIR ]] ; then
108 rm -rf $BUILD_DIR && mkdir $BUILD_DIR ;
110 echo "Preparing new build directory" ;
115 -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
116 $CMAKE_COMPILER_SCRIPT
120 $CMAKE_PRECISION_OPTIONS
121 $CMAKE_BUILD_TYPE_OPTIONS
123 $CMAKE_GMXAPI_OPTIONS
124 -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR -DGMX_COMPILER_WARNINGS=ON
125 2>&1 | tee cmakeLog.log
126 - awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
127 - if [ -s cmakeErrors.log ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
134 .gromacs:base:release:configure:
137 stage: release-configure
140 KUBERNETES_CPU_LIMIT: 1
141 KUBERNETES_CPU_REQUEST: 1
142 KUBERNETES_MEMORY_LIMIT: 2Gi
143 CMAKE_COMPILER_SCRIPT: ""
144 CMAKE_EXTRA_OPTIONS: ""
145 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AUTO"
146 CMAKE_MPI_OPTIONS: "-DGMX_THREAD_MPI=ON"
147 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
148 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
149 CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
150 CMAKE_REGRESSIONTEST_OPTIONS: "-DREGRESSIONTEST_PATH=../\\$RELEASE_REGRESSIONTESTS"
151 RELEASE_BUILD_DIR: release-builds
152 RELEASE_SOURCE: release-source-from-tarball
153 RELEASE_REGRESSIONTESTS: release-regressiontests-from-tarball
155 - VERSION=`cat version.json |
156 python3 -c "import json,sys; print(json.load(sys.stdin)['version'])"`
157 - if [[ $GROMACS_RELEASE != "true" ]] ; then
158 VERSION=$VERSION-dev ;
160 - SOURCENAME=gromacs-$VERSION
161 - SOURCETARBALL=$SOURCENAME.tar.gz
162 - REGTESTNAME=regressiontests-$VERSION
163 - REGTESTTARBALL=$REGTESTNAME.tar.gz
164 - echo "$SOURCETARBALL"
165 - echo "$REGTESTTARBALL"
166 - RELEASE_TARBALLS=release-tarballs
167 - rm -rf $RELEASE_TARBALLS $RELEASE_SOURCE $RELEASE_REGRESSIONTESTS && mkdir $RELEASE_TARBALLS
168 - mv $SOURCETARBALL $RELEASE_TARBALLS
169 - mv $REGTESTTARBALL $RELEASE_TARBALLS
170 - cd $RELEASE_TARBALLS
171 # We rename the source and regressiontest directories
172 # to have names for them that don't change for different versions.
173 - tar -xf $SOURCETARBALL
174 - mv $SOURCENAME ../$RELEASE_SOURCE
175 - tar -xf $REGTESTTARBALL
176 - mv $REGTESTNAME ../$RELEASE_REGRESSIONTESTS
177 - rm $SOURCETARBALL $REGTESTTARBALL
179 - echo $CMAKE_COMPILER_SCRIPT
180 - echo $CMAKE_EXTRA_OPTIONS
181 - echo $CMAKE_SIMD_OPTIONS
182 - echo $CMAKE_GPU_OPTIONS
183 - echo $CMAKE_MPI_OPTIONS
184 - echo $CMAKE_PRECISION_OPTIONS
185 - echo $CMAKE_BUILD_TYPE_OPTIONS
186 - echo $CMAKE_GMXAPI_OPTIONS
187 - if [[ -d $RELEASE_BUILD_DIR ]] ; then
188 echo "Cleaning up build directory" ;
189 rm -rf $RELEASE_BUILD_DIR && mkdir $RELEASE_BUILD_DIR ;
191 echo "Preparing new build directory" ;
192 mkdir $RELEASE_BUILD_DIR ;
194 - cd $RELEASE_BUILD_DIR
195 - cmake ../$RELEASE_SOURCE/
196 -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
197 $CMAKE_COMPILER_SCRIPT
201 $CMAKE_PRECISION_OPTIONS
202 $CMAKE_BUILD_TYPE_OPTIONS
204 $CMAKE_GMXAPI_OPTIONS
205 $CMAKE_REGRESSIONTEST_OPTIONS
206 -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR
207 2>&1 | tee cmakeLog.log
208 - awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
209 - if [ -s cmakeErrors.log ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
215 - $RELEASE_REGRESSIONTESTS
218 # Templates for configuration stage
220 gromacs:gcc-7:configure:
222 - .gromacs:base:configure
224 - .rules:merge-requests
225 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
227 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AVX2_256"
228 CMAKE_GPU_OPTIONS: "-DGMX_GPU=ON -DGMX_USE_OPENCL=ON"
229 COMPILER_MAJOR_VERSION: 7
231 # All jobs marked with temp are changed from the original gcc-6 cuda
232 # jobs such as to preserve the original job here and to make it possible to
233 # just switch them back once the issues with build system have been fixed.
234 # TODO switch back to using gromacs:gcc-6:configure
235 gromacs:gcc-7:configure-temp:
237 - .gromacs:base:configure
240 - .rules:merge-requests
241 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
243 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
244 COMPILER_MAJOR_VERSION: 7
245 CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON"
247 gromacs:clang-TSAN:configure:
249 - .gromacs:base:configure
251 - .rules:merge-requests
252 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
254 COMPILER_MAJOR_VERSION: 8
255 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=TSAN"
257 gromacs:clang-8:configure:
259 - .gromacs:base:configure
261 - .rules:merge-requests
262 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
264 COMPILER_MAJOR_VERSION: 8
266 gromacs:clang-3.6:configure:
268 - .gromacs:base:configure
271 - .rules:merge-requests
272 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
274 COMPILER_MAJOR_VERSION: "3.6"
275 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=ON"
276 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
277 CMAKE_EXTRA_OPTIONS: "-DGMX_OPENMP=OFF"
279 gromacs:clang-static-analyzer:configure:
281 - .gromacs:base:configure
283 - .rules:merge-requests
284 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
286 CMAKE_COMPILER_SCRIPT: "-DCMAKE_CXX_COMPILER=/usr/local/libexec/c++-analyzer -DCMAKE_C_COMPILER=gcc"
287 CMAKE_EXTRA_OPTIONS: "-DGMX_CLANG_ANALYZER=ON -DGMX_OPENMP=OFF -DGMX_USE_RDTSCP=OFF -DGMX_FFT_LIBRARY=fftpack -DGMX_DEVELOPER_BUILD=ON"
288 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
290 gromacs:clang-ASAN:configure:
292 - .gromacs:base:configure
294 - .rules:merge-requests
295 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
297 COMPILER_MAJOR_VERSION: 8
298 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=ASAN"
300 # TODO switch back to using gromacs:gcc-6:release:configure
301 gromacs:gcc-7:release:configure-temp:
303 - .gromacs:base:release:configure
305 - .rules:nightly-only-for-release
306 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
308 COMPILER_MAJOR_VERSION: 7
309 RELEASE_BUILD_DIR: release-builds-gcc
310 CMAKE_EXTRA_OPTIONS: "-DGMX_BUILD_MDRUN_ONLY=ON"
311 CMAKE_BUILD_TYPE_OPTIONS : "-DCMAKE_BUILD_TYPE=RelWithDebug"
312 CMAKE_REGRESSIONTEST_OPTIONS: ""
315 - regressiontests:package
316 - prepare-release-version
318 gromacs:gcc-7:release:configure:
320 - .gromacs:base:release:configure
322 - .rules:nightly-only-for-release
323 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
325 COMPILER_MAJOR_VERSION: 7
326 RELEASE_BUILD_DIR: release-builds-gcc
327 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
330 - regressiontests:package
331 - prepare-release-version
333 gromacs:clang-3.6:release:configure:
335 - .gromacs:base:release:configure
338 - .rules:nightly-only-for-release
339 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
341 COMPILER_MAJOR_VERSION: "3.6"
342 RELEASE_BUILD_DIR: release-builds-clang
343 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=ON"
344 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
345 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
346 CMAKE_EXTRA_OPTIONS: "-DGMX_OPENMP=OFF"
349 - regressiontests:package
350 - prepare-release-version
352 gromacs:clang-8:release:configure:
354 - .gromacs:base:release:configure
356 - .rules:nightly-only-for-release
357 image: gromacs/cmake-3.11.4-llvm-8-openmpi:2020
359 COMPILER_MAJOR_VERSION: 8
360 RELEASE_BUILD_DIR: release-builds-clang
361 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithDebug"
363 # Jobs running during build stage
369 - cmake --build . -- -j8 2>&1 | tee buildLogFile.log
370 - cmake --build . --target tests -- -j8 2>&1 | tee testBuildLogFile.log
371 - awk '/warning/,/warning.*generated|^$/' buildLogFile.log testBuildLogFile.log
372 | grep -v "CMake" | tee buildErrors.log || true
373 - grep "cannot be built" buildLogFile.log testBuildLogFile.log | tee -a buildErrors.log || true
374 - cmake --build . --target install 2>&1 | tee installBuildLogFile.log
375 - if [ -s buildErrors.log ] ; then echo "Found compiler warning during build"; cat buildErrors.log; exit 1; fi
383 .gromacs:static-analyzer-build:
387 - scan-build -o scan_html cmake --build . -- -j8 2>&1 | tee buildLogFile.log
388 - awk '/warning/,/warning.*generated|^$/' buildLogFile.log
389 | grep -v "CMake" | tee buildErrors.log || true
390 - grep "cannot be built" buildLogFile.log | tee -a buildErrors.log || true
391 - if [ -s buildErrors.log ] ; then echo "Found compiler warning during build"; cat buildErrors.log; exit 1; fi
396 - $BUILD_DIR/scan_html
401 - .gromacs:base:build
402 - .before_script:default
404 - .rules:merge-requests
405 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
407 - job: gromacs:gcc-7:configure
410 # TODO switch back to using gromacs:gcc-6:build
411 gromacs:gcc-7:build-temp:
414 - .gromacs:base:build
415 - .before_script:default
417 - .rules:merge-requests
418 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
420 - job: gromacs:gcc-7:configure-temp
422 gromacs:clang-TSAN:build:
425 - .gromacs:base:build
428 - .rules:merge-requests
429 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
431 - job: gromacs:clang-TSAN:configure
433 gromacs:clang-ASAN:build:
436 - .gromacs:base:build
439 - .rules:merge-requests
440 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
442 - job: gromacs:clang-ASAN:configure
444 gromacs:clang-static-analyzer:build:
447 - .gromacs:static-analyzer-build
450 - .rules:merge-requests
451 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
453 - job: gromacs:clang-static-analyzer:configure
455 gromacs:clang-8:build:
458 - .gromacs:base:build
459 - .before_script:default
461 - .rules:merge-requests
462 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
464 - job: gromacs:clang-8:configure
466 gromacs:clang-3.6:build:
469 - .gromacs:base:build
470 - .before_script:default
472 - .rules:merge-requests
473 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
475 - job: gromacs:clang-3.6:configure
477 # TODO switch back to using gromacs:gcc-6:release:build
478 gromacs:gcc-7:release:build-temp:
481 - .gromacs:base:build
482 - .before_script:default
484 - .rules:nightly-only-for-release
487 BUILD_DIR: release-builds-gcc
488 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
490 - job: gromacs:gcc-7:release:configure-temp
492 gromacs:gcc-7:release:build:
495 - .gromacs:base:build
496 - .before_script:default
498 - .rules:nightly-only-for-release
501 BUILD_DIR: release-builds-gcc
502 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
504 - job: gromacs:gcc-7:release:configure
506 gromacs:clang-3.6:release:build:
509 - .gromacs:base:build
510 - .before_script:default
512 - .rules:nightly-only-for-release
515 BUILD_DIR: release-builds-clang
516 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
518 - job: gromacs:clang-3.6:release:configure
520 gromacs:clang-8:release:build:
523 - .gromacs:base:build
524 - .before_script:default
526 - .rules:nightly-only-for-release
529 BUILD_DIR: release-builds-clang
530 image: gromacs/cmake-3.11.4-llvm-8-openmpi:2020
532 - job: gromacs:clang-8:release:configure
534 # Jobs running during test stage
544 CTEST_RUN_MODE: "ExperimentalTest"
547 # Needed to run MPI enabled code in the docker images, until we set up different users
548 - export OMPI_ALLOW_RUN_AS_ROOT=1
549 - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
550 - ctest -D $CTEST_RUN_MODE --output-on-failure | tee ctestLog.log || true
551 - awk '/The following tests FAILED/,/^Errors while running CTest|^$/'
552 ctestLog.log | tee ctestErrors.log
553 - xsltproc $CI_PROJECT_DIR/scripts/CTest2JUnit.xsl Testing/`head -n 1 < Testing/TAG`/*.xml > JUnitTestResults.xml
554 - if [ -s ctestErrors.log ] ; then
555 echo "Error during running ctest";
561 junit: $BUILD_DIR/JUnitTestResults.xml
568 .gromacs:base:regressiontest:
572 REGRESSIONTEST_TOTAL_RANK_NUMBER: 4
573 REGRESSIONTEST_OMP_RANK_NUMBER: 2
574 REGRESSIONTEST_PME_RANK_NUMBER: 1
575 REGRESSIONTEST_MPI_RUN_COMMAND: ""
576 REGRESSIONTEST_DOUBLE: ""
577 REGRESSIONTEST_PARALLEL: "-nt"
583 # This should go away once we are able to run ASAN on mdrun
584 - export ASAN_OPTIONS="detect_leaks=0"
585 # Needed to run MPI enabled code in the docker images, until we set up different users
586 - export OMPI_ALLOW_RUN_AS_ROOT=1
587 - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
588 - tar xzf gmx-regressiontests.tar.gz
589 - source $INSTALL_DIR/bin/GMXRC
591 - perl gmxtest.pl $REGRESSIONTEST_PARALLEL $REGRESSIONTEST_TOTAL_RANK_NUMBER -ntomp $REGRESSIONTEST_OMP_RANK_NUMBER -npme $REGRESSIONTEST_PME_RANK_NUMBER $REGRESSIONTEST_DOUBLE $REGRESSIONTEST_MPI_RUN_COMMAND -xml all
594 - regressiontests/gmxtest.xml
601 - .rules:merge-requests
602 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
604 KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
605 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
607 - job: gromacs:gcc-7:build
609 # TODO switch back to using gromacs:gcc-6:test
610 gromacs:gcc-7:test-temp:
613 - .rules:merge-requests
614 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
616 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
617 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
619 - job: gromacs:gcc-7:build-temp
621 gromacs:clang-8:test:
624 - .rules:merge-requests
625 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
627 - job: gromacs:clang-8:build
629 gromacs:clang-TSAN:test:
632 - .rules:merge-requests
633 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
635 - job: gromacs:clang-TSAN:build
637 gromacs:clang-ASAN:test:
641 - .rules:merge-requests
642 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
644 CTEST_RUN_MODE: "ExperimentalMemCheck"
646 - job: gromacs:clang-ASAN:build
648 gromacs:clang-3.6:test:
651 - .rules:merge-requests
652 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
654 - job: gromacs:clang-3.6:build
656 gromacs:gcc-7:regressiontest:
658 - .gromacs:base:regressiontest
659 - .rules:merge-requests
660 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
662 KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
663 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
664 REGRESSIONTEST_PME_RANK_NUMBER: 0
665 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
666 REGRESSIONTEST_OMP_RANK_NUMBER: 1
668 - job: gromacs:gcc-7:build
669 - job: regressiontests:prepare
671 # TODO switch back to using gromacs:gcc-6:regressiontest
672 gromacs:gcc-7:regressiontest-temp:
674 - .gromacs:base:regressiontest
675 - .rules:merge-requests
676 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
678 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
679 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
680 REGRESSIONTEST_PME_RANK_NUMBER: 0
681 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
682 REGRESSIONTEST_OMP_RANK_NUMBER: 1
684 - job: gromacs:gcc-7:build-temp
685 - job: regressiontests:prepare
687 gromacs:clang-8:regressiontest:
689 - .gromacs:base:regressiontest
690 - .rules:merge-requests
691 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
693 - job: gromacs:clang-8:build
694 - job: regressiontests:prepare
696 gromacs:clang-TSAN:regressiontest:
698 - .gromacs:base:regressiontest
699 - .rules:merge-requests
700 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
702 - job: gromacs:clang-TSAN:build
703 - job: regressiontests:prepare
705 gromacs:clang-ASAN:regressiontest:
707 - .gromacs:base:regressiontest
709 - .rules:merge-requests
710 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
712 - job: gromacs:clang-ASAN:build
713 - job: regressiontests:prepare
715 gromacs:clang-3.6:regressiontest:
717 - .gromacs:base:regressiontest
718 - .rules:merge-requests
719 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
721 REGRESSIONTEST_DOUBLE: "-double"
722 REGRESSIONTEST_OMP_RANK_NUMBER: 0
723 REGRESSIONTEST_PARALLEL: "-np"
725 - job: gromacs:clang-3.6:build
726 - job: regressiontests:prepare
728 # TODO switch back to using gromacs:gcc-6:release:test
729 gromacs:gcc-7:release:test-temp:
732 - .rules:nightly-only-for-release
734 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
736 BUILD_DIR: release-builds-gcc
738 - job: gromacs:gcc-7:release:configure-temp
739 - job: gromacs:gcc-7:release:build-temp
741 gromacs:gcc-7:release:test:
744 - .rules:nightly-only-for-release
746 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
748 BUILD_DIR: release-builds-gcc
750 - job: gromacs:gcc-7:release:configure
751 - job: gromacs:gcc-7:release:build
753 gromacs:clang-3.6:release:test:
756 - .rules:nightly-only-for-release
758 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
760 BUILD_DIR: release-builds-clang
762 - job: gromacs:clang-3.6:release:configure
763 - job: gromacs:clang-3.6:release:build
765 gromacs:clang-8:release:test:
768 - .rules:nightly-only-for-release
770 image: gromacs/cmake-3.11.4-llvm-8-openmpi:2020
772 BUILD_DIR: release-builds-clang
774 - job: gromacs:clang-8:release:configure
775 - job: gromacs:clang-8:release:build
777 gromacs:gcc-7:release:regressiontest:
779 - .gromacs:base:regressiontest
780 - .rules:nightly-only-for-release
782 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
784 BUILD_DIR: release-builds-gcc
786 - job: gromacs:gcc-7:release:build
787 - job: regressiontests:package
789 gromacs:clang-3.6:release:regressiontest:
791 - .gromacs:base:regressiontest
792 - .rules:nightly-only-for-release
794 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
796 BUILD_DIR: release-builds-clang
797 REGRESSIONTEST_DOUBLE: "-double"
798 REGRESSIONTEST_OMP_RANK_NUMBER: 0
799 REGRESSIONTEST_PARALLEL: "-np"
801 - job: gromacs:clang-3.6:release:build
802 - job: regressiontests:package
804 gromacs:clang-8:release:regressiontest:
806 - .gromacs:base:regressiontest
807 - .rules:nightly-only-for-release
809 image: gromacs/cmake-3.11.4-llvm-8-openmpi:2020
811 BUILD_DIR: release-builds-clang
812 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
813 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
814 REGRESSIONTEST_PME_RANK_NUMBER: 0
815 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
816 REGRESSIONTEST_OMP_RANK_NUMBER: 1
819 - job: gromacs:clang-8:release:build
820 - job: regressiontests:package