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-5-cuda-9.0-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: 5
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
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 gromacs:gcc-6:configure:
233 - .gromacs:base:configure
236 - .rules:merge-requests
237 image: gromacs/cmake-3.9.6-gcc-6-cuda-10.1-nvidiaopencl-clfft-openmpi:2020
239 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
240 COMPILER_MAJOR_VERSION: 6
241 CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON"
243 gromacs:clang-TSAN:configure:
245 - .gromacs:base:configure
247 - .rules:merge-requests
248 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
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-3.6:configure:
264 - .gromacs:base:configure
267 - .rules:merge-requests
268 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
270 COMPILER_MAJOR_VERSION: "3.6"
271 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=ON"
272 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
273 CMAKE_EXTRA_OPTIONS: "-DGMX_OPENMP=OFF"
275 gromacs:clang-static-analyzer:configure:
277 - .gromacs:base:configure
279 - .rules:merge-requests
280 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
282 CMAKE_COMPILER_SCRIPT: "-DCMAKE_CXX_COMPILER=/usr/local/libexec/c++-analyzer -DCMAKE_C_COMPILER=gcc"
283 CMAKE_EXTRA_OPTIONS: "-DGMX_CLANG_ANALYZER=ON -DGMX_OPENMP=OFF -DGMX_USE_RDTSCP=OFF -DGMX_FFT_LIBRARY=fftpack -DGMX_DEVELOPER_BUILD=ON"
284 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
286 gromacs:clang-ASAN:configure:
288 - .gromacs:base:configure
290 - .rules:merge-requests
291 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
293 COMPILER_MAJOR_VERSION: 8
294 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=ASAN"
296 gromacs:gcc-6:release:configure:
298 - .gromacs:base:release:configure
301 - .rules:nightly-only-for-release
302 image: gromacs/cmake-3.9.6-gcc-6-cuda-10.1-nvidiaopencl-clfft-openmpi:2020
304 COMPILER_MAJOR_VERSION: 6
305 RELEASE_BUILD_DIR: release-builds-gcc
306 CMAKE_EXTRA_OPTIONS: "-DGMX_BUILD_MDRUN_ONLY=ON"
307 CMAKE_BUILD_TYPE_OPTIONS : "-DCMAKE_BUILD_TYPE=RelWithDebug"
308 CMAKE_REGRESSIONTEST_OPTIONS: ""
311 - regressiontests:package
312 - prepare-release-version
314 gromacs:gcc-7:release:configure:
316 - .gromacs:base:release:configure
318 - .rules:nightly-only-for-release
319 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
321 COMPILER_MAJOR_VERSION: 7
322 RELEASE_BUILD_DIR: release-builds-gcc
323 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
326 - regressiontests:package
327 - prepare-release-version
329 gromacs:clang-3.6:release:configure:
331 - .gromacs:base:release:configure
334 - .rules:nightly-only-for-release
335 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
337 COMPILER_MAJOR_VERSION: "3.6"
338 RELEASE_BUILD_DIR: release-builds-clang
339 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=ON"
340 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
341 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
342 CMAKE_EXTRA_OPTIONS: "-DGMX_OPENMP=OFF"
345 - regressiontests:package
346 - prepare-release-version
348 gromacs:clang-8:release:configure:
350 - .gromacs:base:release:configure
353 - .rules:nightly-only-for-release
354 image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:2020
356 COMPILER_MAJOR_VERSION: 8
357 RELEASE_BUILD_DIR: release-builds-clang
358 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithDebug"
360 # Jobs running during build stage
366 - cmake --build . -- -j8 2>&1 | tee buildLogFile.log
367 - cmake --build . --target tests -- -j8 2>&1 | tee testBuildLogFile.log
368 - awk '/warning/,/warning.*generated|^$/' buildLogFile.log testBuildLogFile.log
369 | grep -v "CMake" | tee buildErrors.log || true
370 - grep "cannot be built" buildLogFile.log testBuildLogFile.log | tee -a buildErrors.log || true
371 - cmake --build . --target install 2>&1 | tee installBuildLogFile.log
372 - if [ -s buildErrors.log ] ; then echo "Found compiler warning during build"; cat buildErrors.log; exit 1; fi
380 .gromacs:static-analyzer-build:
384 - scan-build -o scan_html cmake --build . -- -j8 2>&1 | tee buildLogFile.log
385 - awk '/warning/,/warning.*generated|^$/' buildLogFile.log
386 | grep -v "CMake" | tee buildErrors.log || true
387 - grep "cannot be built" buildLogFile.log | tee -a buildErrors.log || true
388 - if [ -s buildErrors.log ] ; then echo "Found compiler warning during build"; cat buildErrors.log; exit 1; fi
393 - $BUILD_DIR/scan_html
398 - .gromacs:base:build
399 - .before_script:default
401 - .rules:merge-requests
402 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
404 - job: gromacs:gcc-7:configure
410 - .gromacs:base:build
411 - .before_script:default
413 - .rules:merge-requests
414 image: gromacs/cmake-3.9.6-gcc-6-cuda-10.1-nvidiaopencl-clfft-openmpi:2020
416 - job: gromacs:gcc-6:configure
418 gromacs:clang-TSAN:build:
421 - .gromacs:base:build
424 - .rules:merge-requests
425 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
427 - job: gromacs:clang-TSAN:configure
429 gromacs:clang-ASAN:build:
432 - .gromacs:base:build
435 - .rules:merge-requests
436 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
438 - job: gromacs:clang-ASAN:configure
440 gromacs:clang-static-analyzer:build:
443 - .gromacs:static-analyzer-build
446 - .rules:merge-requests
447 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
449 - job: gromacs:clang-static-analyzer:configure
451 gromacs:clang-8:build:
454 - .gromacs:base:build
455 - .before_script:default
457 - .rules:merge-requests
458 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
460 - job: gromacs:clang-8:configure
462 gromacs:clang-3.6:build:
465 - .gromacs:base:build
466 - .before_script:default
468 - .rules:merge-requests
469 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
471 - job: gromacs:clang-3.6:configure
473 gromacs:gcc-6:release:build:
476 - .gromacs:base:build
477 - .before_script:default
479 - .rules:nightly-only-for-release
482 BUILD_DIR: release-builds-gcc
483 image: gromacs/cmake-3.9.6-gcc-6-cuda-10.1-nvidiaopencl-clfft-openmpi:2020
485 - job: gromacs:gcc-6:release:configure
487 gromacs:gcc-7:release:build:
490 - .gromacs:base:build
491 - .before_script:default
493 - .rules:nightly-only-for-release
496 BUILD_DIR: release-builds-gcc
497 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
499 - job: gromacs:gcc-7:release:configure
501 gromacs:clang-3.6:release:build:
504 - .gromacs:base:build
505 - .before_script:default
507 - .rules:nightly-only-for-release
510 BUILD_DIR: release-builds-clang
511 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
513 - job: gromacs:clang-3.6:release:configure
515 gromacs:clang-8:release:build:
518 - .gromacs:base:build
519 - .before_script:default
521 - .rules:nightly-only-for-release
524 BUILD_DIR: release-builds-clang
525 image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:2020
527 - job: gromacs:clang-8:release:configure
529 # Jobs running during test stage
539 CTEST_RUN_MODE: "ExperimentalTest"
542 # Needed to run MPI enabled code in the docker images, until we set up different users
543 - export OMPI_ALLOW_RUN_AS_ROOT=1
544 - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
545 - ctest -D $CTEST_RUN_MODE --output-on-failure | tee ctestLog.log || true
546 - awk '/The following tests FAILED/,/^Errors while running CTest|^$/'
547 ctestLog.log | tee ctestErrors.log
548 - xsltproc scripts/CTest2JUnit.xsl Testing/`head -n 1 < Testing/TAG`/*.xml > JUnitTestResults.xml
549 - if [ -s ctestErrors.log ] ; then
550 echo "Error during running ctest";
556 junit: $BUILD_DIR/JUnitTestResults.xml
563 .gromacs:base:regressiontest:
567 REGRESSIONTEST_TOTAL_RANK_NUMBER: 4
568 REGRESSIONTEST_OMP_RANK_NUMBER: 2
569 REGRESSIONTEST_PME_RANK_NUMBER: 1
570 REGRESSIONTEST_MPI_RUN_COMMAND: ""
571 REGRESSIONTEST_DOUBLE: ""
572 REGRESSIONTEST_PARALLEL: "-nt"
578 # This should go away once we are able to run ASAN on mdrun
579 - export ASAN_OPTIONS="detect_leaks=0"
580 # Needed to run MPI enabled code in the docker images, until we set up different users
581 - export OMPI_ALLOW_RUN_AS_ROOT=1
582 - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
583 - tar xzf gmx-regressiontests.tar.gz
584 - source $INSTALL_DIR/bin/GMXRC
586 - 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
589 - regressiontests/gmxtest.xml
596 - .rules:merge-requests
597 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
599 KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
600 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
602 - job: gromacs:gcc-7:build
607 - .rules:merge-requests
608 image: gromacs/cmake-3.9.6-gcc-6-cuda-10.1-nvidiaopencl-clfft-openmpi:2020
610 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
611 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
613 - job: gromacs:gcc-6:build
615 gromacs:clang-8:test:
618 - .rules:merge-requests
619 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
621 - job: gromacs:clang-8:build
623 gromacs:clang-TSAN:test:
626 - .rules:merge-requests
627 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
629 - job: gromacs:clang-TSAN:build
631 gromacs:clang-ASAN:test:
635 - .rules:merge-requests
636 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
638 CTEST_RUN_MODE: "ExperimentalMemCheck"
640 - job: gromacs:clang-ASAN:build
642 gromacs:clang-3.6:test:
645 - .rules:merge-requests
646 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
648 - job: gromacs:clang-3.6:build
650 gromacs:gcc-7:regressiontest:
652 - .gromacs:base:regressiontest
653 - .rules:merge-requests
654 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
656 KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
657 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
658 REGRESSIONTEST_PME_RANK_NUMBER: 0
659 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
660 REGRESSIONTEST_OMP_RANK_NUMBER: 1
662 - job: gromacs:gcc-7:build
663 - job: regressiontests:prepare
665 gromacs:gcc-6:regressiontest:
667 - .gromacs:base:regressiontest
668 - .rules:merge-requests
669 image: gromacs/cmake-3.9.6-gcc-6-cuda-10.1-nvidiaopencl-clfft-openmpi:2020
671 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
672 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
673 REGRESSIONTEST_PME_RANK_NUMBER: 0
674 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
675 REGRESSIONTEST_OMP_RANK_NUMBER: 1
677 - job: gromacs:gcc-6:build
678 - job: regressiontests:prepare
680 gromacs:clang-8:regressiontest:
682 - .gromacs:base:regressiontest
683 - .rules:merge-requests
684 image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
686 - job: gromacs:clang-8:build
687 - job: regressiontests:prepare
689 gromacs:clang-TSAN:regressiontest:
691 - .gromacs:base:regressiontest
692 - .rules:merge-requests
693 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
695 - job: gromacs:clang-TSAN:build
696 - job: regressiontests:prepare
698 gromacs:clang-ASAN:regressiontest:
700 - .gromacs:base:regressiontest
702 - .rules:merge-requests
703 image: gromacs/cmake-3.15.7-llvm-8-tsan:2020
705 - job: gromacs:clang-ASAN:build
706 - job: regressiontests:prepare
708 gromacs:clang-3.6:regressiontest:
710 - .gromacs:base:regressiontest
711 - .rules:merge-requests
712 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
714 REGRESSIONTEST_DOUBLE: "-double"
715 REGRESSIONTEST_OMP_RANK_NUMBER: 0
716 REGRESSIONTEST_PARALLEL: "-np"
718 - job: gromacs:clang-3.6:build
719 - job: regressiontests:prepare
721 gromacs:gcc-6:release:test:
724 - .rules:nightly-only-for-release
726 image: gromacs/cmake-3.9.6-gcc-6-cuda-10.1-nvidiaopencl-clfft-openmpi:2020
728 BUILD_DIR: release-builds-gcc
730 - job: gromacs:gcc-6:release:configure
731 - job: gromacs:gcc-6:release:build
733 gromacs:gcc-7:release:test:
736 - .rules:nightly-only-for-release
738 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
740 BUILD_DIR: release-builds-gcc
742 - job: gromacs:gcc-7:release:configure
743 - job: gromacs:gcc-7:release:build
745 gromacs:clang-3.6:release:test:
748 - .rules:nightly-only-for-release
750 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
752 BUILD_DIR: release-builds-clang
754 - job: gromacs:clang-3.6:release:configure
755 - job: gromacs:clang-3.6:release:build
757 gromacs:clang-8:release:test:
760 - .rules:nightly-only-for-release
762 image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:2020
764 BUILD_DIR: release-builds-clang
766 - job: gromacs:clang-8:release:configure
767 - job: gromacs:clang-8:release:build
769 gromacs:gcc-7:release:regressiontest:
771 - .gromacs:base:regressiontest
772 - .rules:nightly-only-for-release
774 image: gromacs/cmake-3.9.6-gcc-7-amdopencl-clfft-openmpi:2020
776 BUILD_DIR: release-builds-gcc
778 - job: gromacs:gcc-7:release:build
779 - job: regressiontests:package
781 gromacs:clang-3.6:release:regressiontest:
783 - .gromacs:base:regressiontest
784 - .rules:nightly-only-for-release
786 image: gromacs/cmake-3.9.6-llvm-3.6-amdopencl-openmpi:2020
788 BUILD_DIR: release-builds-clang
789 REGRESSIONTEST_DOUBLE: "-double"
790 REGRESSIONTEST_OMP_RANK_NUMBER: 0
791 REGRESSIONTEST_PARALLEL: "-np"
793 - job: gromacs:clang-3.6:release:build
794 - job: regressiontests:package
796 gromacs:clang-8:release:regressiontest:
798 - .gromacs:base:regressiontest
799 - .rules:nightly-only-for-release
801 image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:2020
803 BUILD_DIR: release-builds-clang
804 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
805 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
806 REGRESSIONTEST_PME_RANK_NUMBER: 0
807 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
808 REGRESSIONTEST_OMP_RANK_NUMBER: 1
811 - job: gromacs:clang-8:release:build
812 - job: regressiontests:package