1 # Build, test, and install variously configured GROMACS installations.
3 # Initial build that always needs to pass before follow-up stages run
11 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
13 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
14 KUBERNETES_CPU_LIMIT: 8
15 KUBERNETES_CPU_REQUEST: 4
16 KUBERNETES_MEMORY_REQUEST: 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 - CMAKE=${CMAKE:-$(which cmake)}
27 - echo $CMAKE_COMPILER_SCRIPT
28 - echo $CMAKE_EXTRA_OPTIONS
29 - echo $CMAKE_SIMD_OPTIONS
30 - echo $CMAKE_GPU_OPTIONS
31 - echo $CMAKE_MPI_OPTIONS
32 - echo $CMAKE_PRECISION_OPTIONS
33 - echo $CMAKE_BUILD_TYPE_OPTIONS
34 - echo $CMAKE_GMXAPI_OPTIONS
35 - if [[ -d $BUILD_DIR ]] ; then
36 echo "Cleaning up build directory" ;
37 rm -rf $BUILD_DIR && mkdir $BUILD_DIR ;
39 echo "Preparing new build directory" ;
44 -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
45 $CMAKE_COMPILER_SCRIPT
49 $CMAKE_PRECISION_OPTIONS
50 $CMAKE_BUILD_TYPE_OPTIONS
53 -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR -DGMX_COMPILER_WARNINGS=ON
54 2>&1 | tee cmakeLog.log
55 - awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
56 - if [ -s cmakeErrors.log ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
57 - $CMAKE --build . -- -j$KUBERNETES_CPU_LIMIT 2>&1 | tee buildLogFile.log
58 - $CMAKE --build . --target tests -- -j$KUBERNETES_CPU_LIMIT 2>&1 | tee testBuildLogFile.log
59 - awk '/warning/,/warning.*generated|^$/' buildLogFile.log testBuildLogFile.log
60 | grep -v "CMake" | tee buildErrors.log || true
61 - grep "cannot be built" buildLogFile.log testBuildLogFile.log | tee -a buildErrors.log || true
62 - $CMAKE --build . --target install 2>&1 | tee installBuildLogFile.log
63 - if [ -s buildErrors.log ] ; then echo "Found compiler warning during build"; cat buildErrors.log; exit 1; fi
64 - ctest -D ExperimentalTest --output-on-failure | tee ctestLog.log || true
65 - awk '/The following tests FAILED/,/^Errors while running CTest|^$/'
66 ctestLog.log | tee ctestErrors.log
67 - xsltproc $CI_PROJECT_DIR/scripts/CTest2JUnit.xsl Testing/`head -n 1 < Testing/TAG`/Test.xml > JUnitTestResults.xml
68 - if [ -s ctestErrors.log ] ; then
69 echo "Error during running ctest";
75 junit: $BUILD_DIR/JUnitTestResults.xml
81 # Jobs running in first pre-build stage
83 .gromacs:base:configure:
86 stage: configure-build
89 KUBERNETES_CPU_LIMIT: 1
90 KUBERNETES_CPU_REQUEST: 1
91 KUBERNETES_MEMORY_REQUEST: 2Gi
92 CMAKE_COMPILER_SCRIPT: ""
93 CMAKE_EXTRA_OPTIONS: ""
94 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AVX2_256"
95 CMAKE_MPI_OPTIONS: "-DGMX_THREAD_MPI=ON"
96 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
97 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=Debug"
98 CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
100 - CMAKE=${CMAKE:-$(which cmake)}
101 - echo $CMAKE_COMPILER_SCRIPT
102 - echo $CMAKE_EXTRA_OPTIONS
103 - echo $CMAKE_SIMD_OPTIONS
104 - echo $CMAKE_GPU_OPTIONS
105 - echo $CMAKE_MPI_OPTIONS
106 - echo $CMAKE_PRECISION_OPTIONS
107 - echo $CMAKE_BUILD_TYPE_OPTIONS
108 - echo $CMAKE_GMXAPI_OPTIONS
109 - if [[ -d $BUILD_DIR ]] ; then
110 rm -rf $BUILD_DIR && mkdir $BUILD_DIR ;
112 echo "Preparing new build directory" ;
117 -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
118 $CMAKE_COMPILER_SCRIPT
122 $CMAKE_PRECISION_OPTIONS
123 $CMAKE_BUILD_TYPE_OPTIONS
125 $CMAKE_GMXAPI_OPTIONS
126 -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR -DGMX_COMPILER_WARNINGS=ON
127 2>&1 | tee cmakeLog.log
128 - awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
129 - if [ -s cmakeErrors.log ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
136 .gromacs:base:release:configure:
139 stage: release-configure
142 KUBERNETES_CPU_LIMIT: 1
143 KUBERNETES_CPU_REQUEST: 1
144 KUBERNETES_MEMORY_REQUEST: 2Gi
145 CMAKE_COMPILER_SCRIPT: ""
146 CMAKE_EXTRA_OPTIONS: ""
147 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AVX2_256"
148 CMAKE_MPI_OPTIONS: "-DGMX_THREAD_MPI=ON"
149 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
150 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
151 CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
152 CMAKE_REGRESSIONTEST_OPTIONS: "-DREGRESSIONTEST_PATH=../\\$RELEASE_REGRESSIONTESTS"
153 RELEASE_BUILD_DIR: release-builds
154 RELEASE_SOURCE: release-source-from-tarball
155 RELEASE_REGRESSIONTESTS: release-regressiontests-from-tarball
157 - CMAKE=${CMAKE:-$(which cmake)}
158 - VERSION=`cat version.json |
159 python3 -c "import json,sys; print(json.load(sys.stdin)['version'])"`
160 - if [[ $GROMACS_RELEASE != "true" ]] ; then
161 VERSION=$VERSION-dev ;
163 - SOURCENAME=gromacs-$VERSION
164 - SOURCETARBALL=$SOURCENAME.tar.gz
165 - REGTESTNAME=regressiontests-$VERSION
166 - REGTESTTARBALL=$REGTESTNAME.tar.gz
167 - echo "$SOURCETARBALL"
168 - echo "$REGTESTTARBALL"
169 - RELEASE_TARBALLS=release-tarballs
170 - rm -rf $RELEASE_TARBALLS $RELEASE_SOURCE $RELEASE_REGRESSIONTESTS && mkdir $RELEASE_TARBALLS
171 - mv $SOURCETARBALL $RELEASE_TARBALLS
172 - mv $REGTESTTARBALL $RELEASE_TARBALLS
173 - cd $RELEASE_TARBALLS
174 # We rename the source and regressiontest directories
175 # to have names for them that don't change for different versions.
176 - tar -xf $SOURCETARBALL
177 - mv $SOURCENAME ../$RELEASE_SOURCE
178 - tar -xf $REGTESTTARBALL
179 - mv $REGTESTNAME ../$RELEASE_REGRESSIONTESTS
180 - rm $SOURCETARBALL $REGTESTTARBALL
182 - echo $CMAKE_COMPILER_SCRIPT
183 - echo $CMAKE_EXTRA_OPTIONS
184 - echo $CMAKE_SIMD_OPTIONS
185 - echo $CMAKE_GPU_OPTIONS
186 - echo $CMAKE_MPI_OPTIONS
187 - echo $CMAKE_PRECISION_OPTIONS
188 - echo $CMAKE_BUILD_TYPE_OPTIONS
189 - echo $CMAKE_GMXAPI_OPTIONS
190 - if [[ -d $RELEASE_BUILD_DIR ]] ; then
191 echo "Cleaning up build directory" ;
192 rm -rf $RELEASE_BUILD_DIR && mkdir $RELEASE_BUILD_DIR ;
194 echo "Preparing new build directory" ;
195 mkdir $RELEASE_BUILD_DIR ;
197 - cd $RELEASE_BUILD_DIR
198 - cmake ../$RELEASE_SOURCE/
199 -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
200 $CMAKE_COMPILER_SCRIPT
204 $CMAKE_PRECISION_OPTIONS
205 $CMAKE_BUILD_TYPE_OPTIONS
207 $CMAKE_GMXAPI_OPTIONS
208 $CMAKE_REGRESSIONTEST_OPTIONS
209 -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR
210 2>&1 | tee cmakeLog.log
211 - awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
212 - if [ -s cmakeErrors.log ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
218 - $RELEASE_REGRESSIONTESTS
221 # Templates for configuration stage
223 gromacs:gcc-10:configure:
225 - .gromacs:base:configure
228 - .rules:merge-and-post-merge-acceptance
229 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
231 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
232 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AVX2_256"
233 CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON -DGMX_INSTALL_LEGACY_API=ON"
234 COMPILER_MAJOR_VERSION: 10
236 gromacs:clang-8-cuda-10.0:configure:
238 - .gromacs:base:configure
241 - .rules:merge-and-post-merge-acceptance
242 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
244 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
245 CMAKE_SIMD_OPTIONS: "-DGMX_USE_SIMD_KERNELS=off"
246 CMAKE_EXTRA_OPTIONS: "-DGMX_CLANG_CUDA=ON"
247 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithDebInfo"
248 COMPILER_MAJOR_VERSION: 8
250 gromacs:gcc-7-cuda-10.2:configure:
252 - .gromacs:base:configure
255 - .rules:merge-and-post-merge-acceptance
256 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
258 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
259 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
260 COMPILER_MAJOR_VERSION: 7
262 gromacs:gcc-8-cuda-11.0:configureMPI:
264 - .gromacs:base:configure
268 - .rules:merge-and-post-merge-acceptance
269 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
271 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
272 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
273 COMPILER_MAJOR_VERSION: 8
275 gromacs:clang-TSAN:configure:
277 - .gromacs:base:configure
279 - .rules:merge-and-post-merge-acceptance
280 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
282 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
283 COMPILER_MAJOR_VERSION: 8
284 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=TSAN"
286 gromacs:icc-2021.1:configure:
288 - .gromacs:base:configure
289 - .use-icc-oneapi:base
290 - .rules:merge-and-post-merge-acceptance
291 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
293 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
294 COMPILER_MAJOR_VERSION: 2021
296 gromacs:clang-8:configure:
298 - .gromacs:base:configure
300 - .rules:merge-requests
301 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
303 COMPILER_MAJOR_VERSION: 8
305 gromacs:clang-9-mpi:configure:
307 - .gromacs:base:configure
310 - .rules:merge-requests
311 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
313 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
314 COMPILER_MAJOR_VERSION: 9
315 CMAKE_PRECISION_OPTIONS: -DGMX_DOUBLE=ON
317 gromacs:clang-static-analyzer:configure:
319 - .gromacs:base:configure
321 - .rules:merge-requests
322 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
324 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
325 CMAKE_COMPILER_SCRIPT: "-DCMAKE_CXX_COMPILER=/usr/local/libexec/c++-analyzer -DCMAKE_C_COMPILER=gcc"
326 CMAKE_EXTRA_OPTIONS: "-DGMX_CLANG_ANALYZER=ON -DGMX_OPENMP=OFF -DGMX_USE_RDTSCP=OFF -DGMX_FFT_LIBRARY=fftpack -DGMX_DEVELOPER_BUILD=ON"
327 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
329 gromacs:clang-ASAN:configure:
331 - .gromacs:base:configure
333 - .rules:merge-requests
334 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
336 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
337 COMPILER_MAJOR_VERSION: 8
338 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=ASAN"
340 gromacs:oneapi-2021.1.1-opencl:configure:
342 - .gromacs:base:configure
345 - .rules:merge-requests
346 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
348 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
349 COMPILER_MAJOR_VERSION: 2021
351 gromacs:oneapi-2021.1.1-sycl:configure:
353 - .gromacs:base:configure
356 - .rules:merge-and-post-merge-acceptance
357 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
359 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
360 COMPILER_MAJOR_VERSION: 2021
362 gromacs:clang-UBSAN:configure:
364 - .gromacs:base:configure
366 - .rules:merge-and-post-merge-acceptance
367 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
369 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
370 COMPILER_MAJOR_VERSION: 8
371 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=UBSAN"
373 gromacs:gcc-8-cuda-11.0:release:configure:
375 - .gromacs:base:release:configure
379 - .rules:nightly-only-for-release
380 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
382 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
383 COMPILER_MAJOR_VERSION: 8
384 RELEASE_BUILD_DIR: release-builds-gcc
385 CMAKE_BUILD_TYPE_OPTIONS : "-DCMAKE_BUILD_TYPE=RelWithAssert"
386 CMAKE_REGRESSIONTEST_OPTIONS: ""
389 - regressiontests:package
390 - prepare-release-version
392 gromacs:gcc-9:release:configure:
394 - .gromacs:base:release:configure
397 - .rules:nightly-only-for-release
398 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
400 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
401 COMPILER_MAJOR_VERSION: 9
402 RELEASE_BUILD_DIR: release-builds-gcc
403 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
406 - regressiontests:package
407 - prepare-release-version
409 gromacs:clang-9:release:configure:
411 - .gromacs:base:release:configure
414 - .rules:nightly-only-for-release
415 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
417 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
418 COMPILER_MAJOR_VERSION: 9
419 RELEASE_BUILD_DIR: release-builds-clang
420 CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=ON"
421 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
424 - regressiontests:package
425 - prepare-release-version
427 gromacs:clang-8-cuda-10.1:release:configure:
429 - .gromacs:base:release:configure
432 - .rules:nightly-only-for-release
433 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.1
435 COMPILER_MAJOR_VERSION: 8
436 RELEASE_BUILD_DIR: release-builds-clang
437 CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
439 gromacs:oneapi-2021.1.1-opencl:release:configure:
441 - .gromacs:base:release:configure
444 - .rules:nightly-only-for-release
445 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
447 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
448 COMPILER_MAJOR_VERSION: 2021
449 RELEASE_BUILD_DIR: release-builds-oneapi
451 # Jobs running during build stage
456 - CMAKE=${CMAKE:-$(which cmake)}
458 - $CMAKE --build . -- -j$KUBERNETES_CPU_LIMIT 2>&1 | tee buildLogFile.log
459 - $CMAKE --build . --target tests -- -j$KUBERNETES_CPU_LIMIT 2>&1 | tee testBuildLogFile.log
460 - awk '/warning/,/warning.*generated|^$/' buildLogFile.log testBuildLogFile.log
461 | grep -v "CMake" | tee buildErrors.log || true
462 - grep "cannot be built" buildLogFile.log testBuildLogFile.log | tee -a buildErrors.log || true
463 - $CMAKE --build . --target install 2>&1 | tee installBuildLogFile.log
464 - if [ -s buildErrors.log ] ; then echo "Found compiler warning during build"; cat buildErrors.log; exit 1; fi
465 - for file in `find . -mindepth 1 -name "*.o" ! -type l` ; do echo $file ; rm $file ; done 2>&1 > remove-build-objects.log
473 .gromacs:static-analyzer-build:
476 - CMAKE=${CMAKE:-$(which cmake)}
478 - scan-build -o scan_html $CMAKE --build . -- -j8 2>&1 | tee buildLogFile.log
479 - awk '/warning/,/warning.*generated|^$/' buildLogFile.log
480 | grep -v "CMake" | tee buildErrors.log || true
481 - grep "cannot be built" buildLogFile.log | tee -a buildErrors.log || true
482 - if [ -s buildErrors.log ] ; then echo "Found compiler warning during build"; cat buildErrors.log; exit 1; fi
487 - $BUILD_DIR/scan_html
489 gromacs:gcc-10:build:
492 - .gromacs:base:build
493 - .before_script:default
495 - .rules:merge-and-post-merge-acceptance
496 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
498 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
500 - job: gromacs:gcc-10:configure
502 gromacs:clang-8-cuda-10.0:build:
505 - .gromacs:base:build
508 - .rules:merge-and-post-merge-acceptance
509 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
511 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
513 - job: gromacs:clang-8-cuda-10.0:configure
515 gromacs:gcc-7-cuda-10.2:build:
518 - .gromacs:base:build
519 - .before_script:default
521 - .rules:merge-and-post-merge-acceptance
522 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
524 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
526 - job: gromacs:gcc-7-cuda-10.2:configure
528 gromacs:gcc-8-cuda-11.0:buildMPI:
531 - .gromacs:base:build
532 - .before_script:default
534 - .rules:merge-and-post-merge-acceptance
535 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
537 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
539 - job: gromacs:gcc-8-cuda-11.0:configureMPI
541 gromacs:clang-TSAN:build:
544 - .gromacs:base:build
547 - .rules:merge-and-post-merge-acceptance
548 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
550 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
552 - job: gromacs:clang-TSAN:configure
554 gromacs:icc-2021.1:build:
557 - .gromacs:base:build
558 - .use-icc-oneapi:base
559 - .rules:post-merge-acceptance
560 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
562 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
564 - job: gromacs:icc-2021.1:configure
566 gromacs:clang-ASAN:build:
569 - .gromacs:base:build
572 - .rules:merge-requests
573 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
575 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
579 - job: gromacs:clang-ASAN:configure
581 gromacs:clang-UBSAN:build:
584 - .gromacs:base:build
587 - .rules:merge-and-post-merge-acceptance
588 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
590 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
594 - job: gromacs:clang-UBSAN:configure
596 gromacs:clang-static-analyzer:build:
599 - .gromacs:static-analyzer-build
602 - .rules:merge-requests
603 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
605 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
609 - job: gromacs:clang-static-analyzer:configure
611 gromacs:clang-8:build:
614 - .gromacs:base:build
615 - .before_script:default
617 - .rules:merge-requests
618 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
620 - job: gromacs:clang-8:configure
622 gromacs:oneapi-2021.1.1-opencl:build:
625 - .gromacs:base:build
628 - .rules:merge-requests
629 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
631 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
633 - job: gromacs:oneapi-2021.1.1-opencl:configure
635 gromacs:oneapi-2021.1.1-sycl:build:
638 - .gromacs:base:build
641 - .rules:merge-and-post-merge-acceptance
642 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
644 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
646 - job: gromacs:oneapi-2021.1.1-sycl:configure
648 gromacs:clang-9-mpi:build:
651 - .gromacs:base:build
652 - .before_script:default
654 - .rules:merge-requests
655 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
657 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
659 - job: gromacs:clang-9-mpi:configure
661 gromacs:gcc-8-cuda-11.0:release:build:
664 - .gromacs:base:build
665 - .before_script:default
667 - .rules:nightly-only-for-release
670 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
671 BUILD_DIR: release-builds-gcc
672 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
674 - job: gromacs:gcc-8-cuda-11.0:release:configure
676 gromacs:gcc-9:release:build:
679 - .gromacs:base:build
680 - .before_script:default
682 - .rules:nightly-only-for-release
685 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
686 BUILD_DIR: release-builds-gcc
687 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
689 - job: gromacs:gcc-9:release:configure
691 gromacs:clang-9:release:build:
694 - .gromacs:base:build
695 - .before_script:default
697 - .rules:nightly-only-for-release
700 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
701 BUILD_DIR: release-builds-clang
702 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
704 - job: gromacs:clang-9:release:configure
706 gromacs:clang-8-cuda-10.1:release:build:
709 - .gromacs:base:build
710 - .before_script:default
712 - .rules:nightly-only-for-release
715 BUILD_DIR: release-builds-clang
716 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.1
718 - job: gromacs:clang-8-cuda-10.1:release:configure
720 gromacs:oneapi-2021.1.1-opencl:release:build:
723 - .gromacs:base:build
727 - .rules:nightly-only-for-release
730 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
731 BUILD_DIR: release-builds-oneapi
732 COMPILER_MAJOR_VERSION: 2021
733 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
735 - job: gromacs:oneapi-2021.1.1-opencl:release:configure
737 # Jobs running during test stage
747 CTEST_RUN_MODE: "ExperimentalTest"
749 - CMAKE=${CMAKE:-$(which cmake)}
751 - export UBSAN_OPTIONS=halt_on_error=1:print_stacktrace=1:suppressions=$CI_PROJECT_DIR/admin/ubsan-suppressions.txt
752 # Needed to run MPI enabled code in the docker images, until we set up different users
753 - export OMPI_ALLOW_RUN_AS_ROOT=1
754 - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
755 - export ASAN_OPTIONS="check_initialization_order=1:detect_invalid_pointer_pairs=1:strict_init_order=true:strict_string_checks=true:detect_stack_use_after_return=true"
756 # If $GMX_TEST_REQUIRED_NUMBER_OF_DEVICES is not set and we have GPUs, set it
757 - if [ -z $GMX_TEST_REQUIRED_NUMBER_OF_DEVICES ] && [ -n $KUBERNETES_EXTENDED_RESOURCE_NAME ] ; then
758 if grep -q '/gpu$' <<< "$KUBERNETES_EXTENDED_RESOURCE_NAME"; then
759 echo "export GMX_TEST_REQUIRED_NUMBER_OF_DEVICES=\"$KUBERNETES_EXTENDED_RESOURCE_LIMIT\"";
760 export GMX_TEST_REQUIRED_NUMBER_OF_DEVICES="$KUBERNETES_EXTENDED_RESOURCE_LIMIT";
763 - if grep -qF 'nvidia.com/gpu' <<< "$KUBERNETES_EXTENDED_RESOURCE_NAME"; then
766 - ctest -D $CTEST_RUN_MODE --output-on-failure | tee ctestLog.log || true
767 - awk '/The following tests FAILED/,/^Errors while running CTest|^$/'
768 ctestLog.log | tee ctestErrors.log
769 - xsltproc $CI_PROJECT_DIR/scripts/CTest2JUnit.xsl Testing/`head -n 1 < Testing/TAG`/*.xml > JUnitTestResults.xml
770 - if [ -s ctestErrors.log ] ; then
771 echo "Error during running ctest";
777 junit: $BUILD_DIR/JUnitTestResults.xml
784 .gromacs:base:regressiontest:
788 KUBERNETES_CPU_LIMIT: 4
789 KUBERNETES_CPU_REQUEST: 4
790 KUBERNETES_MEMORY_REQUEST: 4Gi
791 REGRESSIONTEST_TOTAL_RANK_NUMBER: 4
792 REGRESSIONTEST_OMP_RANK_NUMBER: 2
793 REGRESSIONTEST_PME_RANK_NUMBER: 1
794 REGRESSIONTEST_MPI_RUN_COMMAND: ""
795 REGRESSIONTEST_DOUBLE: ""
796 REGRESSIONTEST_PARALLEL: "-nt"
802 - export LSAN_OPTIONS="suppressions=$CI_PROJECT_DIR/admin/lsan-suppressions.txt:print_suppressions=0"
803 - export ASAN_OPTIONS="check_initialization_order=1:detect_invalid_pointer_pairs=1:strict_init_order=true:strict_string_checks=true:detect_stack_use_after_return=true"
804 # Needed to run MPI enabled code in the docker images, until we set up different users
805 - export OMPI_ALLOW_RUN_AS_ROOT=1
806 - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
807 - tar xzf gmx-regressiontests.tar.gz
808 - source $INSTALL_DIR/bin/GMXRC
810 - 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
813 - regressiontests/gmxtest.xml
820 - .rules:merge-requests
821 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
823 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
824 KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
825 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
826 LD_LIBRARY_PATH: "/opt/rocm-3.5.0/opencl/lib"
830 - job: gromacs:gcc-10:build
832 gromacs:clang-8-cuda-10.0:test:
835 - .rules:post-merge-acceptance
836 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
838 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
839 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
840 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
844 - job: gromacs:clang-8-cuda-10.0:build
846 gromacs:gcc-7-cuda-10.2:test:
849 - .rules:merge-requests
850 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
852 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
853 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
854 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
858 - job: gromacs:gcc-7-cuda-10.2:build
860 gromacs:gcc-8-cuda-10.2:test-gpucommupd:
863 - .rules:post-merge-acceptance
864 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
866 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
867 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
868 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
870 GMX_GPU_PME_PP_COMMS: 1
871 GMX_FORCE_UPDATE_DEFAULT_GPU: 1
875 - job: gromacs:gcc-7-cuda-10.2:build
877 gromacs:clang-8:test:
880 - .rules:merge-requests
881 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
883 - job: gromacs:clang-8:build
885 gromacs:clang-TSAN:test:
888 - .rules:post-merge-acceptance
889 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
891 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
893 - job: gromacs:clang-TSAN:build
895 gromacs:icc-2021.1:test:
898 - .use-icc-oneapi:base
899 - .rules:post-merge-acceptance
900 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
902 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
904 - job: gromacs:icc-2021.1:build
906 gromacs:clang-ASAN:test:
910 - .rules:merge-requests
911 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
913 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
914 CTEST_RUN_MODE: "ExperimentalMemCheck"
918 - job: gromacs:clang-ASAN:build
920 gromacs:clang-UBSAN:test:
924 - .rules:post-merge-acceptance
925 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
927 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
931 - job: gromacs:clang-UBSAN:build
933 gromacs:oneapi-2021.1.1-opencl:test:
937 - .rules:merge-requests
938 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
940 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
942 - job: gromacs:oneapi-2021.1.1-opencl:build
944 gromacs:oneapi-2021.1.1-sycl:test:
948 - .rules:post-merge-acceptance
949 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
951 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
953 - job: gromacs:oneapi-2021.1.1-sycl:build
955 gromacs:clang-9-mpi:test:
958 - .rules:merge-requests
959 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
961 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
965 - job: gromacs:clang-9-mpi:build
967 gromacs:gcc-10:regressiontest:
969 - .gromacs:base:regressiontest
970 - .rules:post-merge-acceptance
971 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-gcc-10
973 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
974 KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
975 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
976 REGRESSIONTEST_PME_RANK_NUMBER: 0
977 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
978 REGRESSIONTEST_OMP_RANK_NUMBER: 1
979 LD_LIBRARY_PATH: "/opt/rocm-3.5.0/opencl/lib"
983 - job: gromacs:gcc-10:build
984 - job: regressiontests:prepare
986 gromacs:clang-8-cuda-10.0:regressiontest:
988 - .gromacs:base:regressiontest
989 - .rules:post-merge-acceptance
990 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
992 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
993 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
994 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
995 REGRESSIONTEST_PME_RANK_NUMBER: 0
996 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
997 REGRESSIONTEST_OMP_RANK_NUMBER: 1
1001 - job: gromacs:clang-8-cuda-10.0:build
1002 - job: regressiontests:prepare
1005 gromacs:gcc-7-cuda-10.2:regressiontest:
1007 - .gromacs:base:regressiontest
1008 - .rules:merge-requests
1009 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
1011 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
1012 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
1013 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
1014 REGRESSIONTEST_PME_RANK_NUMBER: 0
1015 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
1016 REGRESSIONTEST_OMP_RANK_NUMBER: 1
1020 - job: gromacs:gcc-7-cuda-10.2:build
1021 - job: regressiontests:prepare
1023 gromacs:gcc-7-cuda-10.2:regressiontest-gpucommupd-tMPI:
1025 - .gromacs:base:regressiontest
1026 - .rules:post-merge-acceptance
1027 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
1029 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
1030 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
1031 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 2
1032 REGRESSIONTEST_PME_RANK_NUMBER: 0
1033 REGRESSIONTEST_TOTAL_RANK_NUMBER: 4
1034 REGRESSIONTEST_OMP_RANK_NUMBER: 1
1036 GMX_GPU_PME_PP_COMMS: 1
1037 GMX_FORCE_UPDATE_DEFAULT_GPU: 1
1041 - job: gromacs:gcc-7-cuda-10.2:build
1042 - job: regressiontests:prepare
1049 gromacs:gcc-7-cuda-10.2:regressiontest-upd-tMPI:
1051 - .gromacs:base:regressiontest
1052 - .rules:post-merge-acceptance
1053 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-cuda-10.2
1055 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
1056 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 2
1057 REGRESSIONTEST_PME_RANK_NUMBER: 0
1058 REGRESSIONTEST_TOTAL_RANK_NUMBER: 4
1059 REGRESSIONTEST_OMP_RANK_NUMBER: 1
1060 GMX_FORCE_UPDATE_DEFAULT_GPU: 1
1064 - job: gromacs:gcc-7-cuda-10.2:build
1065 - job: regressiontests:prepare
1072 gromacs:gcc-8-cuda-11.0:regressiontest-gpucommupd-MPI:
1074 - .gromacs:base:regressiontest
1075 - .rules:post-merge-acceptance
1076 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
1078 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
1079 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
1080 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 2
1081 REGRESSIONTEST_PME_RANK_NUMBER: 0
1082 REGRESSIONTEST_TOTAL_RANK_NUMBER: 4
1083 REGRESSIONTEST_OMP_RANK_NUMBER: 1
1084 REGRESSIONTEST_PARALLEL: "-np"
1086 GMX_GPU_PME_PP_COMMS: 1
1087 GMX_FORCE_UPDATE_DEFAULT_GPU: 1
1091 - job: gromacs:gcc-8-cuda-11.0:buildMPI
1092 - job: regressiontests:prepare
1099 gromacs:clang-8:regressiontest:
1101 - .gromacs:base:regressiontest
1102 - .rules:merge-requests
1103 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
1107 - job: gromacs:clang-8:build
1108 - job: regressiontests:prepare
1110 gromacs:clang-TSAN:regressiontest:
1112 - .gromacs:base:regressiontest
1113 - .rules:post-merge-acceptance
1114 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
1116 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
1120 - job: gromacs:clang-TSAN:build
1121 - job: regressiontests:prepare
1123 gromacs:icc-2021.1:regressiontest:
1125 - .gromacs:base:regressiontest
1126 - .use-icc-oneapi:base
1127 - .rules:post-merge-acceptance
1128 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
1130 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
1132 - job: gromacs:icc-2021.1:build
1133 - job: regressiontests:prepare
1135 gromacs:clang-ASAN:regressiontest:
1137 - .gromacs:base:regressiontest
1139 - .rules:merge-requests
1140 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-tsan
1142 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
1146 - job: gromacs:clang-ASAN:build
1147 - job: regressiontests:prepare
1149 gromacs:clang-9:regressiontest:
1151 - .gromacs:base:regressiontest
1152 - .rules:merge-requests
1153 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
1155 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
1156 REGRESSIONTEST_DOUBLE: "-double"
1157 REGRESSIONTEST_PARALLEL: "-np"
1161 - job: gromacs:clang-9-mpi:build
1162 - job: regressiontests:prepare
1164 gromacs:oneapi-2021.1.1-opencl:regressiontest:
1166 - .gromacs:base:regressiontest
1168 - .rules:merge-requests
1169 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
1171 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
1173 - job: gromacs:oneapi-2021.1.1-opencl:build
1174 - job: regressiontests:prepare
1176 gromacs:oneapi-2021.1.1-sycl:regressiontest:
1178 - .gromacs:base:regressiontest
1180 - .rules:post-merge-acceptance
1181 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
1183 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
1185 - job: gromacs:oneapi-2021.1.1-sycl:build
1186 - job: regressiontests:prepare
1188 gromacs:gcc-8-cuda-11.0:release:test:
1190 - .gromacs:base:test
1191 - .rules:nightly-only-for-release
1192 stage: release-tests
1193 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
1195 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
1196 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
1197 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
1198 BUILD_DIR: release-builds-gcc
1202 - job: gromacs:gcc-8-cuda-11.0:release:configure
1203 - job: gromacs:gcc-8-cuda-11.0:release:build
1205 gromacs:gcc-9:release:test:
1207 - .gromacs:base:test
1208 - .rules:nightly-only-for-release
1209 stage: release-tests
1210 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
1212 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
1213 BUILD_DIR: release-builds-gcc
1214 KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
1215 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
1216 LD_LIBRARY_PATH: "/opt/rocm-3.5.0/opencl/lib"
1220 - job: gromacs:gcc-9:release:configure
1221 - job: gromacs:gcc-9:release:build
1223 gromacs:clang-9:release:test:
1225 - .gromacs:base:test
1226 - .rules:nightly-only-for-release
1227 stage: release-tests
1228 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
1230 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
1231 BUILD_DIR: release-builds-clang
1233 - job: gromacs:clang-9:release:configure
1234 - job: gromacs:clang-9:release:build
1236 gromacs:clang-8-cuda-10.1:release:test:
1238 - .gromacs:base:test
1239 - .rules:nightly-only-for-release
1240 stage: release-tests
1241 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.1
1243 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
1244 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
1245 BUILD_DIR: release-builds-clang
1249 - job: gromacs:clang-8-cuda-10.1:release:configure
1250 - job: gromacs:clang-8-cuda-10.1:release:build
1252 gromacs:oneapi-2021.1.1-opencl:release:test:
1254 - .gromacs:base:test
1256 - .rules:nightly-only-for-release
1257 stage: release-tests
1258 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
1260 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
1261 BUILD_DIR: release-builds-oneapi
1263 - job: gromacs:oneapi-2021.1.1-opencl:release:configure
1264 - job: gromacs:oneapi-2021.1.1-opencl:release:build
1266 gromacs:gcc-9:release:regressiontest:
1268 - .gromacs:base:regressiontest
1269 - .rules:nightly-only-for-release
1270 stage: release-tests
1271 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-9
1273 CMAKE: /usr/local/cmake-3.13.0/bin/cmake
1274 BUILD_DIR: release-builds-gcc
1275 KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
1276 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
1277 LD_LIBRARY_PATH: "/opt/rocm-3.5.0/opencl/lib"
1281 - job: gromacs:gcc-9:release:build
1282 - job: regressiontests:package
1284 gromacs:gcc-8-cuda-11.0:release:regressiontest:
1286 - .gromacs:base:regressiontest
1287 - .rules:nightly-only-for-release
1288 stage: release-tests
1289 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-8-cuda-11.0
1291 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
1292 BUILD_DIR: release-builds-gcc
1293 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
1294 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
1295 REGRESSIONTEST_PME_RANK_NUMBER: 0
1296 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
1297 REGRESSIONTEST_OMP_RANK_NUMBER: 1
1298 REGRESSIONTEST_PARALLEL: "-np"
1302 - job: gromacs:gcc-8-cuda-11.0:release:build
1303 - job: regressiontests:package
1305 gromacs:clang-9:release:regressiontest:
1307 - .gromacs:base:regressiontest
1308 - .rules:nightly-only-for-release
1309 stage: release-tests
1310 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-9
1312 CMAKE: /usr/local/cmake-3.15.7/bin/cmake
1313 BUILD_DIR: release-builds-clang
1314 REGRESSIONTEST_DOUBLE: "-double"
1315 REGRESSIONTEST_PARALLEL: "-np"
1319 - job: gromacs:clang-9:release:build
1320 - job: regressiontests:package
1322 gromacs:clang-8-cuda-10.1:release:regressiontest:
1324 - .gromacs:base:regressiontest
1325 - .rules:nightly-only-for-release
1326 stage: release-tests
1327 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.1
1329 BUILD_DIR: release-builds-clang
1330 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
1331 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
1332 REGRESSIONTEST_PME_RANK_NUMBER: 0
1333 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
1334 REGRESSIONTEST_OMP_RANK_NUMBER: 1
1338 - job: gromacs:clang-8-cuda-10.1:release:build
1339 - job: regressiontests:package
1341 gromacs:oneapi-2021.1.1-opencl:release:regressiontest:
1343 - .gromacs:base:regressiontest
1345 - .rules:nightly-only-for-release
1346 stage: release-tests
1347 image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-gcc-7-oneapi-2021.1.1
1349 CMAKE: /usr/local/cmake-3.17.2/bin/cmake
1350 BUILD_DIR: release-builds-oneapi
1351 REGRESSIONTEST_PME_RANK_NUMBER: 0
1352 REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
1353 REGRESSIONTEST_OMP_RANK_NUMBER: 1
1355 - job: gromacs:oneapi-2021.1.1-opencl:release:build
1356 - job: regressiontests:package