- .gromacs:base:configure
- .use-clang:base
- .rules:basic-push
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-11-tsan
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
variables:
CMAKE: /usr/local/cmake-3.16.3/bin/cmake
COMPILER_MAJOR_VERSION: 11
BUILD_DIR: build-clang-tidy
CMAKE_EXTRA_OPTIONS: -DCLANG_TIDY=clang-tidy-$COMPILER_MAJOR_VERSION -DGMX_CLANG_TIDY=ON -DGMX_COMPILER_WARNINGS=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON
-clang-tidy:configure-push-cuda:
- extends:
- - .gromacs:base:configure
- - .use-clang:base
- - .use-cuda
- - .rules:basic-push
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.2.1-hipsycl-2bc21b677a
- variables:
- CMAKE: /usr/local/cmake-3.16.3/bin/cmake
- COMPILER_MAJOR_VERSION: 11
- BUILD_DIR: build-clang-tidy
- CMAKE_EXTRA_OPTIONS: -DCLANG_TIDY=clang-tidy-$COMPILER_MAJOR_VERSION -DGMX_CLANG_TIDY=ON -DGMX_COMPILER_WARNINGS=ON -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DGMX_CLANG_CUDA=ON
-
clang-tidy:configure-schedule:
extends:
- .gromacs:base:configure
- .use-clang:base
- .rules:nightly-not-for-release
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-11-tsan
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
variables:
CMAKE: /usr/local/cmake-3.16.3/bin/cmake
COMPILER_MAJOR_VERSION: 11
- .use-clang:base
- .use-cuda
- .rules:nightly-not-for-release
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.2.1-hipsycl-2bc21b677a
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
variables:
CMAKE: cmake
COMPILER_MAJOR_VERSION: 11
- .variables:default
- .rules:nightly-not-for-release
stage: source-check
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-11-tsan
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
needs:
- job: clang-tidy:configure-schedule
variables:
- .variables:default
- .rules:nightly-not-for-release
stage: source-check
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.2.1-hipsycl-2bc21b677a
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
needs:
- job: clang-tidy:configure-schedule-cuda
variables:
- .variables:default
- .rules:basic-push
stage: source-check
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-11-tsan
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
needs:
- job: clang-tidy:configure-push
variables:
- clang-tidy.log
- code-lint.txt
-clang-tidy:test-cuda:
- extends:
- - .gromacs:base:build
- - .variables:default
- - .rules:basic-push
- stage: source-check
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-8-cuda-10.0
- needs:
- - job: clang-tidy:configure-push-cuda
- variables:
- COMPILER_MAJOR_VERSION: 8
- BUILD_DIR: build-clang-tidy
- EXTRA_INSTALLS: clang-tidy-$COMPILER_MAJOR_VERSION
- KUBERNETES_CPU_LIMIT: 4
- KUBERNETES_CPU_REQUEST: 2
- KUBERNETES_MEMORY_REQUEST: 4Gi
- script:
- # Make sure that a Python interpreter can be found for `/bin/env python`
- - test -x /usr/bin/python || update-alternatives --install /usr/bin/python python /usr/bin/python3 1
- # TODO (issue #3272) `master` is not appropriate for use on release-xxxx branches, how should we handle that?
- - REV=$(git fetch -q https://gitlab.com/gromacs/gromacs.git master && git show -s --pretty=format:"%h" `git merge-base FETCH_HEAD HEAD`)
- - HEAD_REV=$(git show -s --pretty=format:"%h" HEAD)
- - if [[ "$REV" == "$HEAD_REV" ]] ; then
- REV="HEAD~1" ;
- fi
- - echo "Revision used for branch point is $REV"
- - git show -s $REV
- - RUN_CLANG_TIDY=run-clang-tidy-$COMPILER_MAJOR_VERSION bash admin/clang-tidy.sh check --parallel=$KUBERNETES_CPU_LIMIT --warnings=clang-tidy.log --rev=$REV -B=$BUILD_DIR
- - grep -i "found code issues|warnings" clang-tidy.log | tee code-lint.txt || true
- - if [ -s code-lint.txt ] ; then echo "clang-tidy.sh found issues"; exit 1; fi
- artifacts:
- when: on_failure
- paths:
- - clang-tidy.log
- - code-lint.txt
-
clang-format:
extends:
- .variables:default
- .rules:basic-push
cache: {}
stage: pre-build
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-11-tsan
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
variables:
COMPILER_MAJOR_VERSION: 11
KUBERNETES_CPU_LIMIT: 1
- .rules:basic-push
cache: {}
stage: pre-build
- image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-11-tsan
+ image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-20.04-llvm-11-cuda-11.4.1
variables:
KUBERNETES_CPU_LIMIT: 1
KUBERNETES_CPU_REQUEST: 1
script:
- CMAKE=${CMAKE:-$(which cmake)}
- cd $BUILD_DIR
+ # TODO(#4092) Remove `pip install pybind11` once CI images are updated.
+ - /root/venv/py3.7/bin/pip install pybind11
- $CMAKE --build . --target check-source
- awk '/warning.*include style.*order/,/You can use.*rst|^$/' docs/doxygen/check-source.log | tee doxygenError.txt || true
- awk '/warning:.*includes/,/unnecessarily|^$/' docs/doxygen/check-source.log | tee -a doxygenError.txt || true