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.15.7-llvm-9-openmpi:master
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: 9
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 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
225 - .rules:merge-requests
226 image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
228 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AVX2_256"
229 CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON"
230 COMPILER_MAJOR_VERSION: 7
232 gromacs:gcc-8:configure:
234 - .gromacs:base:configure
237 - .rules:merge-requests
238 image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
240 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
241 COMPILER_MAJOR_VERSION: 8
243 gromacs:clang-TSAN:configure:
245 - .gromacs:base:configure
247 - .rules:merge-requests
248 image: gromacs/cmake-3.13.0-llvm-8-tsan:master
250 COMPILER_MAJOR_VERSION: 8
251 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=TSAN"
253 gromacs:clang-8:configure:
255 - .gromacs:base:configure
257 - .rules:merge-requests
258 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
260 COMPILER_MAJOR_VERSION: 8
262 gromacs:clang-9:configure:
264 - .gromacs:base:configure
267 - .rules:merge-requests
268 image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
270 COMPILER_MAJOR_VERSION: 9
271 CMAKE_PRECISION_OPTIONS: -DGMX_DOUBLE=ON
273 gromacs:clang-static-analyzer:configure:
275 - .gromacs:base:configure
277 - .rules:merge-requests
278 image: gromacs/cmake-3.13.0-llvm-8-tsan:master
280 CMAKE_COMPILER_SCRIPT: "-DCMAKE_CXX_COMPILER=/usr/local/libexec/c++-analyzer -DCMAKE_C_COMPILER=gcc"
281 CMAKE_EXTRA_OPTIONS: "-DGMX_CLANG_ANALYZER=ON -DGMX_OPENMP=OFF -DGMX_USE_RDTSCP=OFF -DGMX_FFT_LIBRARY=fftpack -DGMX_DEVELOPER_BUILD=ON"
282 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
284 gromacs:clang-ASAN:configure:
286 - .gromacs:base:configure
288 - .rules:merge-requests
289 image: gromacs/cmake-3.13.0-llvm-8-tsan:master
291 COMPILER_MAJOR_VERSION: 8
292 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=ASAN"
294 gromacs:gcc-8:release:configure:
296 - .gromacs:base:release:configure
300 - .rules:nightly-only-for-release
301 image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
303 COMPILER_MAJOR_VERSION: 8
304 RELEASE_BUILD_DIR: release-builds-gcc
305 CMAKE_EXTRA_OPTIONS: "-DGMX_BUILD_MDRUN_ONLY=ON"
306 CMAKE_BUILD_TYPE_OPTIONS : "-DCMAKE_BUILD_TYPE=RelWithDebug"
307 CMAKE_REGRESSIONTEST_OPTIONS: ""
310 - regressiontests:package
311 - prepare-release-version
313 gromacs:gcc-7:release:configure:
315 - .gromacs:base:release:configure
317 - .rules:nightly-only-for-release
318 image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
320 COMPILER_MAJOR_VERSION: 7
321 RELEASE_BUILD_DIR: release-builds-gcc
322 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
325 - regressiontests:package
326 - prepare-release-version
328 gromacs:clang-9:release:configure:
330 - .gromacs:base:release:configure
333 - .rules:nightly-only-for-release
334 image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
336 COMPILER_MAJOR_VERSION: 9
337 RELEASE_BUILD_DIR: release-builds-clang
338 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=ON"
339 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
342 - regressiontests:package
343 - prepare-release-version
345 gromacs:clang-8:release:configure:
347 - .gromacs:base:release:configure
350 - .rules:nightly-only-for-release
351 image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:master
353 COMPILER_MAJOR_VERSION: 8
354 RELEASE_BUILD_DIR: release-builds-clang
355 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithDebug"
357 # Jobs running during build stage
363 - cmake --build . -- -j8 2>&1 | tee buildLogFile.log
364 - cmake --build . --target tests -- -j8 2>&1 | tee testBuildLogFile.log
365 - awk '/warning/,/warning.*generated|^$/' buildLogFile.log testBuildLogFile.log
366 | grep -v "CMake" | tee buildErrors.log || true
367 - grep "cannot be built" buildLogFile.log testBuildLogFile.log | tee -a buildErrors.log || true
368 - cmake --build . --target install 2>&1 | tee installBuildLogFile.log
369 - if [ -s buildErrors.log ] ; then echo "Found compiler warning during build"; cat buildErrors.log; exit 1; fi
377 .gromacs:static-analyzer-build:
381 - scan-build -o scan_html cmake --build . -- -j8 2>&1 | tee buildLogFile.log
382 - awk '/warning/,/warning.*generated|^$/' buildLogFile.log
383 | grep -v "CMake" | tee buildErrors.log || true
384 - grep "cannot be built" buildLogFile.log | tee -a buildErrors.log || true
385 - if [ -s buildErrors.log ] ; then echo "Found compiler warning during build"; cat buildErrors.log; exit 1; fi
390 - $BUILD_DIR/scan_html
395 - .gromacs:base:build
396 - .before_script:default
398 - .rules:merge-requests
399 image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
401 - job: gromacs:gcc-7:configure
407 - .gromacs:base:build
408 - .before_script:default
410 - .rules:merge-requests
411 image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
413 - job: gromacs:gcc-8:configure
415 gromacs:clang-TSAN:build:
418 - .gromacs:base:build
421 - .rules:merge-requests
422 image: gromacs/cmake-3.13.0-llvm-8-tsan:master
424 - job: gromacs:clang-TSAN:configure
426 gromacs:clang-ASAN:build:
429 - .gromacs:base:build
432 - .rules:merge-requests
433 image: gromacs/cmake-3.13.0-llvm-8-tsan:master
435 - job: gromacs:clang-ASAN:configure
437 gromacs:clang-static-analyzer:build:
440 - .gromacs:static-analyzer-build
443 - .rules:merge-requests
444 image: gromacs/cmake-3.13.0-llvm-8-tsan:master
446 - job: gromacs:clang-static-analyzer:configure
448 gromacs:clang-8:build:
451 - .gromacs:base:build
452 - .before_script:default
454 - .rules:merge-requests
455 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
457 - job: gromacs:clang-8:configure
459 gromacs:clang-9:build:
462 - .gromacs:base:build
463 - .before_script:default
465 - .rules:merge-requests
466 image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
468 - job: gromacs:clang-9:configure
470 gromacs:gcc-8:release:build:
473 - .gromacs:base:build
474 - .before_script:default
476 - .rules:nightly-only-for-release
479 BUILD_DIR: release-builds-gcc
480 image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
482 - job: gromacs:gcc-8:release:configure
484 gromacs:gcc-7:release:build:
487 - .gromacs:base:build
488 - .before_script:default
490 - .rules:nightly-only-for-release
493 BUILD_DIR: release-builds-gcc
494 image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
496 - job: gromacs:gcc-7:release:configure
498 gromacs:clang-9:release:build:
501 - .gromacs:base:build
502 - .before_script:default
504 - .rules:nightly-only-for-release
507 BUILD_DIR: release-builds-clang
508 image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
510 - job: gromacs:clang-9:release:configure
512 gromacs:clang-8:release:build:
515 - .gromacs:base:build
516 - .before_script:default
518 - .rules:nightly-only-for-release
521 BUILD_DIR: release-builds-clang
522 image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:master
524 - job: gromacs:clang-8:release:configure
526 # Jobs running during test stage
536 CTEST_RUN_MODE: "ExperimentalTest"
539 # Needed to run MPI enabled code in the docker images, until we set up different users
540 - export OMPI_ALLOW_RUN_AS_ROOT=1
541 - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
542 - ctest -D $CTEST_RUN_MODE --output-on-failure | tee ctestLog.log || true
543 - awk '/The following tests FAILED/,/^Errors while running CTest|^$/'
544 ctestLog.log | tee ctestErrors.log
545 - xsltproc scripts/CTest2JUnit.xsl Testing/`head -n 1 < Testing/TAG`/*.xml > JUnitTestResults.xml
546 - if [ -s ctestErrors.log ] ; then
547 echo "Error during running ctest";
553 junit: $BUILD_DIR/JUnitTestResults.xml
560 .gromacs:base:regressiontest:
564 REGRESSIONTEST_TOTAL_RANK_NUMBER: 4
565 REGRESSIONTEST_OMP_RANK_NUMBER: 2
566 REGRESSIONTEST_PME_RANK_NUMBER: 1
567 REGRESSIONTEST_MPI_RUN_COMMAND: ""
568 REGRESSIONTEST_DOUBLE: ""
569 REGRESSIONTEST_PARALLEL: "-nt"
575 # This should go away once we are able to run ASAN on mdrun
576 - export ASAN_OPTIONS="detect_leaks=0"
577 # Needed to run MPI enabled code in the docker images, until we set up different users
578 - export OMPI_ALLOW_RUN_AS_ROOT=1
579 - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
580 - tar xzf gmx-regressiontests.tar.gz
581 - source $INSTALL_DIR/bin/GMXRC
583 - 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
586 - regressiontests/gmxtest.xml
593 - .rules:merge-requests
594 image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
596 KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
597 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
599 - job: gromacs:gcc-7:build
604 - .rules:merge-requests
605 image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
607 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
608 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
610 - job: gromacs:gcc-8:build
612 gromacs:clang-8:test:
615 - .rules:merge-requests
616 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
618 - job: gromacs:clang-8:build
620 gromacs:clang-TSAN:test:
623 - .rules:merge-requests
624 image: gromacs/cmake-3.13.0-llvm-8-tsan:master
626 - job: gromacs:clang-TSAN:build
628 gromacs:clang-ASAN:test:
632 - .rules:merge-requests
633 image: gromacs/cmake-3.13.0-llvm-8-tsan:master
635 CTEST_RUN_MODE: "ExperimentalMemCheck"
637 - job: gromacs:clang-ASAN:build
639 gromacs:clang-9:test:
642 - .rules:merge-requests
643 image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
645 - job: gromacs:clang-9:build
647 gromacs:gcc-7:regressiontest:
649 - .gromacs:base:regressiontest
650 - .rules:merge-requests
651 image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
653 KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
654 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
655 REGRESSIONTEST_PME_RANK_NUMBER: 0
656 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
657 REGRESSIONTEST_OMP_RANK_NUMBER: 1
659 - job: gromacs:gcc-7:build
660 - job: regressiontests:prepare
662 gromacs:gcc-8:regressiontest:
664 - .gromacs:base:regressiontest
665 - .rules:merge-requests
666 image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
668 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
669 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
670 REGRESSIONTEST_PME_RANK_NUMBER: 0
671 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
672 REGRESSIONTEST_OMP_RANK_NUMBER: 1
674 - job: gromacs:gcc-8:build
675 - job: regressiontests:prepare
677 gromacs:clang-8:regressiontest:
679 - .gromacs:base:regressiontest
680 - .rules:merge-requests
681 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
683 - job: gromacs:clang-8:build
684 - job: regressiontests:prepare
686 gromacs:clang-TSAN:regressiontest:
688 - .gromacs:base:regressiontest
689 - .rules:merge-requests
690 image: gromacs/cmake-3.13.0-llvm-8-tsan:master
692 - job: gromacs:clang-TSAN:build
693 - job: regressiontests:prepare
695 gromacs:clang-ASAN:regressiontest:
697 - .gromacs:base:regressiontest
699 - .rules:merge-requests
700 image: gromacs/cmake-3.13.0-llvm-8-tsan:master
702 - job: gromacs:clang-ASAN:build
703 - job: regressiontests:prepare
705 gromacs:clang-9:regressiontest:
707 - .gromacs:base:regressiontest
708 - .rules:merge-requests
709 image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
711 REGRESSIONTEST_DOUBLE: "-double"
712 REGRESSIONTEST_PARALLEL: "-np"
714 - job: gromacs:clang-9:build
715 - job: regressiontests:prepare
717 gromacs:gcc-8:release:test:
720 - .rules:nightly-only-for-release
722 image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
724 BUILD_DIR: release-builds-gcc
726 - job: gromacs:gcc-8:release:configure
727 - job: gromacs:gcc-8:release:build
729 gromacs:gcc-7:release:test:
732 - .rules:nightly-only-for-release
734 image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
736 BUILD_DIR: release-builds-gcc
738 - job: gromacs:gcc-7:release:configure
739 - job: gromacs:gcc-7:release:build
741 gromacs:clang-9:release:test:
744 - .rules:nightly-only-for-release
746 image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
748 BUILD_DIR: release-builds-clang
750 - job: gromacs:clang-9:release:configure
751 - job: gromacs:clang-9:release:build
753 gromacs:clang-8:release:test:
756 - .rules:nightly-only-for-release
758 image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:master
760 BUILD_DIR: release-builds-clang
762 - job: gromacs:clang-8:release:configure
763 - job: gromacs:clang-8:release:build
765 gromacs:gcc-7:release:regressiontest:
767 - .gromacs:base:regressiontest
768 - .rules:nightly-only-for-release
770 image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
772 BUILD_DIR: release-builds-gcc
774 - job: gromacs:gcc-7:release:build
775 - job: regressiontests:package
777 gromacs:clang-9:release:regressiontest:
779 - .gromacs:base:regressiontest
780 - .rules:nightly-only-for-release
782 image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
784 BUILD_DIR: release-builds-clang
785 REGRESSIONTEST_DOUBLE: "-double"
786 REGRESSIONTEST_PARALLEL: "-np"
788 - job: gromacs:clang-9:release:build
789 - job: regressiontests:package
791 gromacs:clang-8:release:regressiontest:
793 - .gromacs:base:regressiontest
794 - .rules:nightly-only-for-release
796 image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:master
798 BUILD_DIR: release-builds-clang
799 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
800 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
801 REGRESSIONTEST_PME_RANK_NUMBER: 0
802 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
803 REGRESSIONTEST_OMP_RANK_NUMBER: 1
806 - job: gromacs:clang-8:release:build
807 - job: regressiontests:package