Use more modern clang for linters and sanitizers
[alexxy/gromacs.git] / admin / gitlab-ci / gromacs.matrix / gromacs.clang-UBSAN.gitlab-ci.yml
1 # Test goal: Clang UndefinedBehaviorSanitizer build
2 # Test intents (should change rarely and conservatively):
3 #   OS: Ubuntu oldest supported
4 #   Compiler: Clang
5 #   Build type: UBSAN
6 #   GPU: no
7 #   Scope: configure, build, unit tests
8 # Test implementation choices (free to change as needed):
9 #   OS: Ubuntu 18.04
10 #   Compiler: Clang 11
11 #   MPI: thread_MPI
12 #   SIMD: AVX2_256
13 #   FFT: FFTW3
14 #   Parallelism nt/ntomp: 4/2
15
16 gromacs:clang-UBSAN:configure:
17   extends:
18     - .gromacs:base:configure
19     - .use-clang:base
20     - .rules:merge-and-post-merge-acceptance
21   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-11-tsan
22   variables:
23     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
24     COMPILER_MAJOR_VERSION: 11
25     CMAKE_BUILD_TYPE_OPTIONS: "-DCMAKE_BUILD_TYPE=UBSAN"
26
27 gromacs:clang-UBSAN:build:
28   extends:
29     - .variables:default
30     - .gromacs:base:build
31     - .use-clang:base
32     - .use-ccache
33     - .rules:merge-and-post-merge-acceptance
34   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-11-tsan
35   variables:
36     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
37   tags:
38     - k8s-scilifelab
39   needs:
40     - job: gromacs:clang-UBSAN:configure
41
42 gromacs:clang-UBSAN:test:
43   extends:
44     - .gromacs:base:test
45     - .use-clang:base
46     - .rules:post-merge-acceptance
47   image: ${CI_REGISTRY}/gromacs/gromacs/ci-ubuntu-18.04-llvm-11-tsan
48   variables:
49     CMAKE: /usr/local/cmake-3.18.4/bin/cmake
50   tags:
51     - k8s-scilifelab
52   needs:
53     - job: gromacs:clang-UBSAN:build
54