# Initial build that always needs to pass before follow-up stages run
simple-build:
extends:
- - .use-ccache
- .variables:default
- - .use-gcc7
- - .rules:basic
+ - .use-ccache
+ - .use-clang:base
+ - .rules:basic-push
stage: pre-build
+ image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
tags: []
variables:
KUBERNETES_CPU_LIMIT: 8
KUBERNETES_CPU_REQUEST: 4
KUBERNETES_MEMORY_LIMIT: 8Gi
- CMAKE_COMPILER_SCRIPT: ""
- CMAKE_EXTRA_OPTIONS: ""
CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
CMAKE_MPI_OPTIONS: "-DGMX_THREAD_MPI=ON"
CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=Debug"
CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
+ COMPILER_MAJOR_VERSION: 9
BUILD_DIR: simple-build
script:
- echo $CMAKE_COMPILER_SCRIPT
.gromacs:base:configure:
extends:
- .variables:default
- cache: {}
stage: configure-build
+ cache: {}
variables:
KUBERNETES_CPU_LIMIT: 1
KUBERNETES_CPU_REQUEST: 1
.gromacs:base:release:configure:
extends:
- .variables:default
- cache: {}
stage: release-configure
+ cache: {}
variables:
KUBERNETES_CPU_LIMIT: 1
KUBERNETES_CPU_REQUEST: 1
CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=OFF"
CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
CMAKE_GPU_OPTIONS: "-DGMX_GPU=OFF"
+ CMAKE_REGRESSIONTEST_OPTIONS: "-DREGRESSIONTEST_PATH=../\\$RELEASE_REGRESSIONTESTS"
RELEASE_BUILD_DIR: release-builds
RELEASE_SOURCE: release-source-from-tarball
RELEASE_REGRESSIONTESTS: release-regressiontests-from-tarball
$CMAKE_BUILD_TYPE_OPTIONS
$CMAKE_GPU_OPTIONS
$CMAKE_GMXAPI_OPTIONS
- "-DREGRESSIONTEST_PATH=../$RELEASE_REGRESSIONTESTS"
- -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR -DGMX_COMPILER_WARNINGS=ON
+ $CMAKE_REGRESSIONTEST_OPTIONS
+ -DCMAKE_INSTALL_PREFIX=../$INSTALL_DIR
2>&1 | tee cmakeLog.log
- awk '/CMake Warning/,/^--|^$/' cmakeLog.log | tee cmakeErrors.log
- if [ -s cmakeErrors.log ] ; then echo "Found CMake warning while processing build"; cat cmakeErrors.log ; exit 1; fi
gromacs:gcc-7:configure:
extends:
- .gromacs:base:configure
- - .use-gcc7
- - .rules:not-for-release
+ - .use-gcc:base
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
+ variables:
+ CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=AVX2_256"
+ CMAKE_GPU_OPTIONS: "-DGMX_GPU=ON -DGMX_USE_OPENCL=ON"
+ COMPILER_MAJOR_VERSION: 7
dependencies: []
-gromacs:gcc-7:release:configure:
+gromacs:gcc-8:configure:
extends:
- - .gromacs:base:release:configure
- - .use-gcc7
- - .rules:nightly-only-for-release
- cache: {}
+ - .gromacs:base:configure
+ - .use-gcc:base
+ - .use-opencl
+ - .rules:merge-requests
+ image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
+ dependencies: []
variables:
- RELEASE_BUILD_DIR: release-builds-gcc
- dependencies:
- - archive:package
- - regressiontests:package
- - prepare-release-version
+ CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
+ COMPILER_MAJOR_VERSION: 8
+ CMAKE_EXTRA_OPTIONS: "-DGMX_EXTERNAL_CLFFT=ON"
-gromacs:gcc-7-simd-sse41:configure:
+gromacs:clang-TSAN:configure:
extends:
- .gromacs:base:configure
- - .use-gcc7
- - .rules:not-for-release
+ - .use-clang:base
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-llvm-8-tsan:master
dependencies: []
variables:
- CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
+ COMPILER_MAJOR_VERSION: 8
+ CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=TSAN"
-gromacs:gcc-7-double:configure:
+gromacs:clang-8:configure:
extends:
- .gromacs:base:configure
- - .use-gcc7
- - .rules:not-for-release
+ - .use-clang:base
+ - .rules:merge-requests
+ image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
dependencies: []
variables:
- CMAKE_PRECISION_OPTIONS: -DGMX_DOUBLE=ON
+ COMPILER_MAJOR_VERSION: 8
-gromacs:gcc-7-double:release:configure:
+gromacs:clang-9:configure:
extends:
- - .gromacs:base:release:configure
- - .use-gcc7
- - .rules:nightly-only-for-release
- cache: {}
+ - .gromacs:base:configure
+ - .use-clang:base
+ - .rules:merge-requests
+ image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
variables:
+ COMPILER_MAJOR_VERSION: 9
CMAKE_PRECISION_OPTIONS: -DGMX_DOUBLE=ON
- RELEASE_BUILD_DIR: release-builds-gcc
- dependencies:
- - archive:package
- - regressiontests:package
- - prepare-release-version
+ dependencies: []
-gromacs:gcc-8:configure:
+gromacs:clang-static-analyzer:configure:
extends:
- .gromacs:base:configure
- - .use-gcc8
- - .rules:not-for-release
+ - .use-clang:base
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-llvm-8-tsan:master
dependencies: []
+ variables:
+ CMAKE_COMPILER_SCRIPT: "-DCMAKE_CXX_COMPILER=/usr/local/libexec/c++-analyzer -DCMAKE_C_COMPILER=gcc"
+ CMAKE_EXTRA_OPTIONS: "-DGMX_CLANG_ANALYZER=ON -DGMX_OPENMP=OFF -DGMX_USE_RDTSCP=OFF -DGMX_FFT_LIBRARY=fftpack -DGMX_DEVELOPER_BUILD=ON"
+ CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=None"
+
+gromacs:clang-ASAN:configure:
+ extends:
+ - .gromacs:base:configure
+ - .use-clang:base
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-llvm-8-tsan:master
+ dependencies: []
+ variables:
+ COMPILER_MAJOR_VERSION: 8
+ CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=ASAN"
gromacs:gcc-8:release:configure:
extends:
- .gromacs:base:release:configure
- - .use-gcc8
+ - .use-gcc:base
+ - .use-mpi
+ - .use-cuda
- .rules:nightly-only-for-release
- cache: {}
+ image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
variables:
+ COMPILER_MAJOR_VERSION: 8
RELEASE_BUILD_DIR: release-builds-gcc
+ CMAKE_EXTRA_OPTIONS: "-DGMX_BUILD_MDRUN_ONLY=ON"
+ CMAKE_BUILD_TYPE_OPTIONS : "-DCMAKE_BUILD_TYPE=RelWithDebug"
+ CMAKE_REGRESSIONTEST_OPTIONS: ""
dependencies:
- archive:package
- regressiontests:package
- prepare-release-version
-gromacs:gcc-8-cuda-10.2:configure:
- extends:
- - .gromacs:base:configure
- - .use-cuda
- - .use-gcc8:cuda-10.2
- - .rules:not-for-release
- variables:
- CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
- # TODO: Enable GMX_PYTHON_PACKAGE when dependencies are in Docker image.
- dependencies: []
-
-# For version of clang before 7, we need to always provide the full version
-# Use something like this instead in the download script:
-# APT_COMPILER_VERSION=$(($COMPILER_MAJOR_VERSION < 7 ? "${COMPILER_MAJOR_VERSION}.0" : $COMPILER_MAJOR_VERSION))
-gromacs:clang-6:configure:
+gromacs:gcc-7:release:configure:
extends:
- - .gromacs:base:configure
- - .use-clang6
- - .rules:not-for-release
- dependencies: []
+ - .gromacs:base:release:configure
+ - .use-gcc:base
+ - .rules:nightly-only-for-release
+ image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
variables:
- COMPILER_MAJOR_VERSION: "6.0"
- CMAKE_MPI_OPTIONS: -DGMX_OPENMP=OFF
-
-gromacs:clang-7:configure:
- extends:
- - .gromacs:base:configure
- - .use-clang7
- - .rules:not-for-release
- dependencies: []
+ COMPILER_MAJOR_VERSION: 7
+ RELEASE_BUILD_DIR: release-builds-gcc
+ CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
+ dependencies:
+ - archive:package
+ - regressiontests:package
+ - prepare-release-version
-gromacs:clang-7:release:configure:
+gromacs:clang-9:release:configure:
extends:
- .gromacs:base:release:configure
- - .use-clang7
+ - .use-clang:base
+ - .use-mpi
- .rules:nightly-only-for-release
- cache: {}
+ image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
variables:
+ COMPILER_MAJOR_VERSION: 9
RELEASE_BUILD_DIR: release-builds-clang
+ CMAKE_PRECISION_OPTIONS: "-DGMX_DOUBLE=ON"
+ CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithAssert"
dependencies:
- archive:package
- regressiontests:package
- prepare-release-version
-gromacs:clang-8:configure:
- extends:
- - .gromacs:base:configure
- - .use-clang8
- - .rules:not-for-release
- dependencies: []
-
gromacs:clang-8:release:configure:
extends:
- .gromacs:base:release:configure
- - .use-clang8
+ - .use-clang:base
+ - .use-cuda
- .rules:nightly-only-for-release
- cache: {}
+ image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:master
variables:
+ COMPILER_MAJOR_VERSION: 8
RELEASE_BUILD_DIR: release-builds-clang
- dependencies:
- - archive:package
- - regressiontests:package
- - prepare-release-version
+ CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=RelWithDebug"
# Jobs running during build stage
.gromacs:base:build:
- # Dockerfiles are from dockerhub, user eriklindahl
- # image in admin/dockerimages/ci-docs-py27
stage: build
script:
- cd $BUILD_DIR
- $BUILD_DIR
- $INSTALL_DIR/
+.gromacs:static-analyzer-build:
+ stage: build
+ script:
+ - cd $BUILD_DIR
+ - scan-build -o scan_html cmake --build . -- -j8 2>&1 | tee buildLogFile.log
+ - awk '/warning/,/warning.*generated|^$/' buildLogFile.log
+ | grep -v "CMake" | tee buildErrors.log || true
+ - grep "cannot be built" buildLogFile.log | tee -a buildErrors.log || true
+ - if [ -s buildErrors.log ] ; then echo "Found compiler warning during build"; cat buildErrors.log; exit 1; fi
+ - cd ..
+ artifacts:
+ when: always
+ paths:
+ - $BUILD_DIR/scan_html
+
gromacs:gcc-7:build:
extends:
+ - .variables:default
- .gromacs:base:build
+ - .before_script:default
- .use-ccache
- - .variables:default
- - .use-gcc7
- - .rules:not-for-release
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
needs:
- job: gromacs:gcc-7:configure
artifacts: true
-gromacs:gcc-7:release:build:
+gromacs:gcc-8:build:
extends:
+ - .variables:default
- .gromacs:base:build
+ - .before_script:default
- .use-ccache
- - .variables:default
- - .use-gcc7
- - .rules:nightly-only-for-release
- stage: release-build
- variables:
- BUILD_DIR: release-builds-gcc
+ - .rules:merge-requests
+ image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
needs:
- - job: gromacs:gcc-7:release:configure
- artifacts: true
+ - job: gromacs:gcc-8:configure
-gromacs:gcc-7-simd-sse41:build:
+gromacs:clang-TSAN:build:
extends:
+ - .variables:default
- .gromacs:base:build
+ - .use-clang:base
- .use-ccache
- - .variables:default
- - .use-gcc7
- - .rules:not-for-release
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-llvm-8-tsan:master
needs:
- - job: gromacs:gcc-7-simd-sse41:configure
- artifacts: true
+ - job: gromacs:clang-TSAN:configure
-gromacs:gcc-7-double:build:
+gromacs:clang-ASAN:build:
extends:
+ - .variables:default
- .gromacs:base:build
+ - .use-clang:base
- .use-ccache
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-llvm-8-tsan:master
+ needs:
+ - job: gromacs:clang-ASAN:configure
+
+gromacs:clang-static-analyzer:build:
+ extends:
- .variables:default
- - .use-gcc7
- - .rules:not-for-release
+ - .gromacs:static-analyzer-build
+ - .use-clang:base
+ - .use-ccache
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-llvm-8-tsan:master
needs:
- - job: gromacs:gcc-7-double:configure
- artifacts: true
+ - job: gromacs:clang-static-analyzer:configure
-gromacs:gcc-7-double:release:build:
+gromacs:clang-8:build:
extends:
+ - .variables:default
- .gromacs:base:build
+ - .before_script:default
- .use-ccache
- - .variables:default
- - .use-gcc7
- - .rules:nightly-only-for-release
- stage: release-build
- variables:
- BUILD_DIR: release-builds-gcc
+ - .rules:merge-requests
+ image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
needs:
- - job: gromacs:gcc-7-double:release:configure
- artifacts: true
+ - job: gromacs:clang-8:configure
-gromacs:gcc-8:build:
+gromacs:clang-9:build:
extends:
+ - .variables:default
- .gromacs:base:build
+ - .before_script:default
- .use-ccache
- - .variables:default
- - .use-gcc8
- - .rules:not-for-release
+ - .rules:merge-requests
+ image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
needs:
- - job: gromacs:gcc-8:configure
- artifacts: true
+ - job: gromacs:clang-9:configure
gromacs:gcc-8:release:build:
extends:
+ - .variables:default
- .gromacs:base:build
+ - .before_script:default
- .use-ccache
- - .variables:default
- - .use-gcc8
- .rules:nightly-only-for-release
stage: release-build
variables:
BUILD_DIR: release-builds-gcc
+ image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
needs:
- job: gromacs:gcc-8:release:configure
- artifacts: true
-gromacs:gcc-8-cuda-10.2:build:
+gromacs:gcc-7:release:build:
extends:
- - .gromacs:base:build
- - .use-ccache
- .variables:default
- - .use-cuda
- - .use-gcc8:cuda-10.2
- - .rules:not-for-release
- variables:
- CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
- # TODO: Enable GMX_PYTHON_PACKAGE when dependencies are in Docker image.
- needs:
- - job: gromacs:gcc-8-cuda-10.2:configure
- artifacts: true
-
-gromacs:clang-6:build:
- extends:
- .gromacs:base:build
+ - .before_script:default
- .use-ccache
- - .variables:default
- - .use-clang6
- - .rules:not-for-release
+ - .rules:nightly-only-for-release
+ stage: release-build
+ variables:
+ BUILD_DIR: release-builds-gcc
+ image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
needs:
- - job: gromacs:clang-6:configure
- artifacts: true
+ - job: gromacs:gcc-7:release:configure
-gromacs:clang-7:build:
+gromacs:clang-9:release:build:
extends:
- - .gromacs:base:build
- - .use-ccache
- .variables:default
- - .use-clang7
- - .rules:not-for-release
- needs:
- - job: gromacs:clang-7:configure
- artifacts: true
-
-gromacs:clang-7:release:build:
- extends:
- .gromacs:base:build
+ - .before_script:default
- .use-ccache
- - .variables:default
- - .use-clang7
- .rules:nightly-only-for-release
stage: release-build
variables:
BUILD_DIR: release-builds-clang
+ image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
needs:
- - job: gromacs:clang-7:release:configure
- artifacts: true
-
-gromacs:clang-8:build:
- extends:
- - .gromacs:base:build
- - .use-ccache
- - .variables:default
- - .use-clang8
- - .rules:not-for-release
- needs:
- - job: gromacs:clang-8:configure
- artifacts: true
+ - job: gromacs:clang-9:release:configure
gromacs:clang-8:release:build:
extends:
+ - .variables:default
- .gromacs:base:build
+ - .before_script:default
- .use-ccache
- - .variables:default
- - .use-clang8
- .rules:nightly-only-for-release
stage: release-build
variables:
BUILD_DIR: release-builds-clang
+ image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:master
needs:
- job: gromacs:clang-8:release:configure
- artifacts: true
# Jobs running during test stage
.gromacs:base:test:
extends:
- .variables:default
- variables:
- REGRESSIONTEST_TOTAL_RANK_NUMBER: 4
- REGRESSIONTEST_OMP_RANK_NUMBER: 2
- REGRESSIONTEST_PME_RANK_NUMBER: 1
- REGRESSIONTEST_MPI_RUN_COMMAND: ""
- REGRESSIONTEST_DOUBLE: ""
stage: test
+ cache: {}
retry:
- max: 2
+ max: 1
+ variables:
+ CTEST_RUN_MODE: "ExperimentalTest"
script:
- cd $BUILD_DIR
- - ctest -D ExperimentalTest --output-on-failure | tee ctestLog.log || true
+ # Needed to run MPI enabled code in the docker images, until we set up different users
+ - export OMPI_ALLOW_RUN_AS_ROOT=1
+ - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
+ - ctest -D $CTEST_RUN_MODE --output-on-failure | tee ctestLog.log || true
- awk '/The following tests FAILED/,/^Errors while running CTest|^$/'
ctestLog.log | tee ctestErrors.log
- - xsltproc scripts/CTest2JUnit.xsl Testing/`head -n 1 < Testing/TAG`/Test.xml > JUnitTestResults.xml
+ - if [ $CTEST_RUN_MODE == "ExperimentalTest" ] ; then
+ xsltproc scripts/CTest2JUnit.xsl Testing/`head -n 1 < Testing/TAG`/Test.xml > JUnitTestResults.xml;
+ else
+ touch JUnitTestResults.xml;
+ fi
- if [ -s ctestErrors.log ] ; then
echo "Error during running ctest";
exit 1;
fi
- cd ..
- - tar xzf gmx-regressiontests.tar.gz
- - source $INSTALL_DIR/bin/GMXRC
- - cd regressiontests
- - echo "perl gmxtest.pl -nt $REGRESSIONTEST_TOTAL_RANK_NUMBER -ntomp $REGRESSIONTEST_OMP_RANK_NUMBER -npme $REGRESSIONTEST_PME_RANK_NUMBER $REGRESSIONTEST_DOUBLE $REGRESSIONTEST_MPI_RUN_COMMAND"
- - perl gmxtest.pl -nt $REGRESSIONTEST_TOTAL_RANK_NUMBER -ntomp $REGRESSIONTEST_OMP_RANK_NUMBER -npme $REGRESSIONTEST_PME_RANK_NUMBER $REGRESSIONTEST_DOUBLE $REGRESSIONTEST_MPI_RUN_COMMAND -xml all
artifacts:
reports:
junit: $BUILD_DIR/JUnitTestResults.xml
paths:
- $BUILD_DIR/Testing
- $BUILD_DIR/tests
- - regressiontests
+ when: always
+ expire_in: 1 week
+
+.gromacs:base:regressiontest:
+ extends:
+ - .variables:default
+ variables:
+ REGRESSIONTEST_TOTAL_RANK_NUMBER: 4
+ REGRESSIONTEST_OMP_RANK_NUMBER: 2
+ REGRESSIONTEST_PME_RANK_NUMBER: 1
+ REGRESSIONTEST_MPI_RUN_COMMAND: ""
+ REGRESSIONTEST_DOUBLE: ""
+ REGRESSIONTEST_PARALLEL: "-nt"
+ stage: test
+ cache: {}
+ retry:
+ max: 1
+ script:
+ # This should go away once we are able to run ASAN on mdrun
+ - export ASAN_OPTIONS="detect_leaks=0"
+ # Needed to run MPI enabled code in the docker images, until we set up different users
+ - export OMPI_ALLOW_RUN_AS_ROOT=1
+ - export OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1
+ - tar xzf gmx-regressiontests.tar.gz
+ - source $INSTALL_DIR/bin/GMXRC
+ - cd regressiontests
+ - 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
+ artifacts:
+ reports:
+ junit: regressiontests/gmxtest.xml
when: always
expire_in: 1 week
gromacs:gcc-7:test:
extends:
- .gromacs:base:test
- - .use-gcc7
- - .rules:not-for-release
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
+ variables:
+ KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
+ KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
needs:
- job: gromacs:gcc-7:build
- - job: regressiontests:prepare
-gromacs:gcc-7:release:test:
+gromacs:gcc-8:test:
extends:
- .gromacs:base:test
- - .use-gcc7
- - .rules:nightly-only-for-release
- stage: release-tests
+ - .rules:merge-requests
+ image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
variables:
- BUILD_DIR: release-builds-gcc
+ KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
+ KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
needs:
- - job: gromacs:gcc-7:release:configure
- artifacts: true
- - job: gromacs:gcc-7:release:build
- artifacts: true
- - job: regressiontests:package
+ - job: gromacs:gcc-8:build
-gromacs:gcc-7-simd-sse41:test:
+gromacs:clang-8:test:
extends:
- .gromacs:base:test
- - .use-gcc7
- - .rules:not-for-release
+ - .rules:merge-requests
+ image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
needs:
- - job: gromacs:gcc-7-simd-sse41:build
- - job: regressiontests:prepare
+ - job: gromacs:clang-8:build
-gromacs:gcc-7-double:test:
+gromacs:clang-TSAN:test:
extends:
- .gromacs:base:test
- - .use-gcc7
- - .rules:not-for-release
- variables:
- REGRESSIONTEST_DOUBLE: "-double"
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-llvm-8-tsan:master
needs:
- - job: gromacs:gcc-7-double:build
- - job: regressiontests:prepare
+ - job: gromacs:clang-TSAN:build
-gromacs:gcc-7-double:release:test:
+gromacs:clang-ASAN:test:
extends:
- .gromacs:base:test
- - .use-gcc7
- - .rules:nightly-only-for-release
- stage: release-tests
+ - .use-clang:base
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-llvm-8-tsan:master
variables:
- BUILD_DIR: release-builds-gcc
+ CTEST_RUN_MODE: "ExperimentalMemCheck"
needs:
- - job: gromacs:gcc-7-double:release:configure
- artifacts: true
- - job: gromacs:gcc-7-double:release:build
- artifacts: true
- - job: regressiontests:package
+ - job: gromacs:clang-ASAN:build
-gromacs:gcc-8:test:
+gromacs:clang-9:test:
extends:
- .gromacs:base:test
- - .use-gcc8
- - .rules:not-for-release
+ - .rules:merge-requests
+ image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
needs:
- - job: gromacs:gcc-8:build
- - job: regressiontests:prepare
+ - job: gromacs:clang-9:build
-gromacs:gcc-8:release:test:
+gromacs:gcc-7:regressiontest:
extends:
- - .gromacs:base:test
- - .use-gcc8
- - .rules:nightly-only-for-release
- stage: release-tests
+ - .gromacs:base:regressiontest
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
variables:
- BUILD_DIR: release-builds-gcc
+ KUBERNETES_EXTENDED_RESOURCE_NAME: "amd.com/gpu"
+ KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
+ REGRESSIONTEST_PME_RANK_NUMBER: 0
+ REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
+ REGRESSIONTEST_OMP_RANK_NUMBER: 1
needs:
- - job: gromacs:gcc-8:release:configure
- artifacts: true
- - job: gromacs:gcc-8:release:build
- artifacts: true
- - job: regressiontests:package
+ - job: gromacs:gcc-7:build
+ - job: regressiontests:prepare
-gromacs:gcc-8-cuda-10.2:test:
+gromacs:gcc-8:regressiontest:
extends:
- - .gromacs:base:test
- - .use-cuda
- - .use-gcc8:cuda-10.2
- - .rules:not-for-release
+ - .gromacs:base:regressiontest
+ - .rules:merge-requests
+ image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
variables:
KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
REGRESSIONTEST_PME_RANK_NUMBER: 0
REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
REGRESSIONTEST_OMP_RANK_NUMBER: 1
- CMAKE_GMXAPI_OPTIONS: "-DGMX_PYTHON_PACKAGE=OFF"
- # TODO: Enable GMX_PYTHON_PACKAGE when dependencies are in Docker image.
needs:
- - job: gromacs:gcc-8-cuda-10.2:build
+ - job: gromacs:gcc-8:build
- job: regressiontests:prepare
-gromacs:clang-6:test:
+gromacs:clang-8:regressiontest:
extends:
- - .gromacs:base:test
- - .use-clang6
- - .rules:not-for-release
+ - .gromacs:base:regressiontest
+ - .rules:merge-requests
+ image: gromacs/cmake-3.15.7-llvm-8-intelopencl-openmpi:2020
+ needs:
+ - job: gromacs:clang-8:build
+ - job: regressiontests:prepare
+
+gromacs:clang-TSAN:regressiontest:
+ extends:
+ - .gromacs:base:regressiontest
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-llvm-8-tsan:master
+ needs:
+ - job: gromacs:clang-TSAN:build
+ - job: regressiontests:prepare
+
+gromacs:clang-ASAN:regressiontest:
+ extends:
+ - .gromacs:base:regressiontest
+ - .use-clang:base
+ - .rules:merge-requests
+ image: gromacs/cmake-3.13.0-llvm-8-tsan:master
+ needs:
+ - job: gromacs:clang-ASAN:build
+ - job: regressiontests:prepare
+
+gromacs:clang-9:regressiontest:
+ extends:
+ - .gromacs:base:regressiontest
+ - .rules:merge-requests
+ image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
variables:
- REGRESSIONTEST_OMP_RANK_NUMBER: 0
+ REGRESSIONTEST_DOUBLE: "-double"
needs:
- - job: gromacs:clang-6:build
+ - job: gromacs:clang-9:build
- job: regressiontests:prepare
-gromacs:clang-7:test:
+gromacs:gcc-8:release:test:
extends:
- .gromacs:base:test
- - .use-clang7
- - .rules:not-for-release
+ - .rules:nightly-only-for-release
+ stage: release-tests
+ image: gromacs/cmake-3.15.7-gcc-8-cuda-10.1-nvidiaopencl-clfft-openmpi:master
+ variables:
+ BUILD_DIR: release-builds-gcc
needs:
- - job: gromacs:clang-7:build
- - job: regressiontests:prepare
+ - job: gromacs:gcc-8:release:configure
+ - job: gromacs:gcc-8:release:build
-gromacs:clang-7:release:test:
+gromacs:gcc-7:release:test:
extends:
- .gromacs:base:test
- - .use-clang7
- .rules:nightly-only-for-release
stage: release-tests
+ image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
variables:
- BUILD_DIR: release-builds-clang
+ BUILD_DIR: release-builds-gcc
needs:
- - job: gromacs:clang-7:release:configure
- artifacts: true
- - job: gromacs:clang-7:release:build
- artifacts: true
- - job: regressiontests:package
+ - job: gromacs:gcc-7:release:configure
+ - job: gromacs:gcc-7:release:build
-gromacs:clang-8:test:
+gromacs:clang-9:release:test:
extends:
- .gromacs:base:test
- - .use-clang8
- - .rules:not-for-release
+ - .rules:nightly-only-for-release
+ stage: release-tests
+ image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
+ variables:
+ BUILD_DIR: release-builds-clang
needs:
- - job: gromacs:clang-8:build
- - job: regressiontests:prepare
+ - job: gromacs:clang-9:release:configure
+ - job: gromacs:clang-9:release:build
gromacs:clang-8:release:test:
extends:
- .gromacs:base:test
- - .use-clang8
- .rules:nightly-only-for-release
stage: release-tests
+ image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:master
variables:
BUILD_DIR: release-builds-clang
needs:
- job: gromacs:clang-8:release:configure
- artifacts: true
- job: gromacs:clang-8:release:build
- artifacts: true
+
+gromacs:gcc-7:release:regressiontest:
+ extends:
+ - .gromacs:base:regressiontest
+ - .rules:nightly-only-for-release
+ stage: release-tests
+ image: gromacs/cmake-3.13.0-gcc-7-amdopencl-clfft-openmpi:master
+ variables:
+ BUILD_DIR: release-builds-gcc
+ needs:
+ - job: gromacs:gcc-7:release:build
+ - job: regressiontests:package
+
+gromacs:clang-9:release:regressiontest:
+ extends:
+ - .gromacs:base:regressiontest
+ - .rules:nightly-only-for-release
+ stage: release-tests
+ image: gromacs/cmake-3.15.7-llvm-9-openmpi:master
+ variables:
+ BUILD_DIR: release-builds-clang
+ REGRESSIONTEST_DOUBLE: "-double"
+ REGRESSIONTEST_PARALLEL: "-np"
+ needs:
+ - job: gromacs:clang-9:release:build
+ - job: regressiontests:package
+
+gromacs:clang-8:release:regressiontest:
+ extends:
+ - .gromacs:base:regressiontest
+ - .rules:nightly-only-for-release
+ stage: release-tests
+ image: gromacs/cmake-3.15.7-llvm-8-cuda-10.1-openmpi:master
+ variables:
+ BUILD_DIR: release-builds-clang
+ KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
+ KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
+ REGRESSIONTEST_PME_RANK_NUMBER: 0
+ REGRESSIONTEST_TOTAL_RANK_NUMBER: 2
+ REGRESSIONTEST_OMP_RANK_NUMBER: 1
+
+ needs:
+ - job: gromacs:clang-8:release:build
- job: regressiontests:package
+