2 .configure-extends-template:
4 - .configure-build-template
9 .configure-release-extends-template:
11 - .configure-build-release-template
16 .build-extends-template:
18 - .binary-build-template
19 - .build-cache-template
23 .test-extends-template:
26 - .pull-cache-template
27 - .test-script-template
31 .regressiontests-extends-template:
38 # Templates for configuration stage
41 - .configure-extends-template
42 - .gcc-before-script-template
45 .configure-gcc-release:
47 - .configure-release-extends-template
48 - .gcc-before-script-template
58 - .configure-extends-template
59 - .clang-before-script-template
60 - .build-clang-template
62 .configure-clang-release:
64 - .configure-release-extends-template
65 - .clang-before-script-template
66 - .build-clang-template
68 # Templates for build stage
71 - .build-extends-template
72 - .documentation-before-script-template
73 - .build-docs-binary-template
74 - .archive-build-template
78 - .build-extends-template
79 - .gcc-before-script-template
84 - .build-extends-template
85 - .clang-before-script-template
86 - .build-clang-template
93 # Templates for test stage
96 - .test-extends-template
97 - .gcc-before-script-template
107 - .test-extends-template
108 - .clang-before-script-template
109 - .test-clang-template
111 # Special job to package regressiontest files and have them available for testing
112 # Runs during pre-build
113 prepare-regressiontests:
115 - .regressiontests-extends-template
116 - .regressiontests-template
118 prepare-release-version:
120 - .regressiontests-extends-template
121 - .release-version-template
123 # Initial build that always needs to pass before follow-up stages run
126 - .simple-build-template
127 - .build-cache-template
128 - .variables-template
130 - .gcc-before-script-template
131 - .build-gcc-template
134 COMPILER_MAJOR_VERSION: 7
135 BUILD_DIR: simple-build
140 # Jobs running in first pre-build stage
149 COMPILER_MAJOR_VERSION: 7
154 configure-gcc-7-gmxapi:
157 - .configure-gmxapi-template
163 COMPILER_MAJOR_VERSION: 7
168 configure-gcc-7-double:
176 COMPILER_MAJOR_VERSION: 7
177 CMAKE_PRECISION_OPTIONS: -DGMX_DOUBLE=ON
190 COMPILER_MAJOR_VERSION: 8
195 configure-gcc-8-cuda-10.2:
197 - .configure-gcc-cuda
198 - .gcc-8-cuda-10.2-template
206 configure-gcc-7-simd-sse41:
214 COMPILER_MAJOR_VERSION: 7
215 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
228 COMPILER_MAJOR_VERSION: 7
233 configure-clang-7-gmxapi:
236 - .configure-gmxapi-template
242 COMPILER_MAJOR_VERSION: 7
255 COMPILER_MAJOR_VERSION: 8
260 # For version of clang before 7, we need to always provide the full version
261 # Use something like this instead in the download script:
262 # APT_COMPILER_VERSION=$(($COMPILER_MAJOR_VERSION < 7 ? "${COMPILER_MAJOR_VERSION}.0" : $COMPILER_MAJOR_VERSION))
271 COMPILER_MAJOR_VERSION: "6.0"
272 CMAKE_MPI_OPTIONS: -DGMX_OPENMP=OFF
277 configure-clang-tidy:
285 BUILD_DIR: build-clang-tidy
286 COMPILER_MAJOR_VERSION: 7
287 CMAKE_EXTRA_OPTIONS: -DCLANG_TIDY=clang-tidy-$COMPILER_MAJOR_VERSION -DGMX_CLANG_TIDY=ON -DGMX_COMPILER_WARNINGS=ON
288 EXTRA_INSTALLS: clang-tidy-$COMPILER_MAJOR_VERSION
293 # Only running in scheduled pipelines that are not release builds
294 configure-archive-nightly:
295 stage: nightly-configure
308 BUILD_DIR: build-package
309 CMAKE_SIMD_OPTIONS: -DGMX_SIMD=None
310 CMAKE_EXTRA_OPTIONS: -DGMX_BUILD_HELP=on -DGMX_USE_RDTSCP=OFF
311 CMAKE_MPI_OPTIONS: -DGMX_THREAD_MPI=OFF -DGMX_OPENMP=OFF
313 configure-archive-release:
325 BUILD_DIR: build-package
326 CMAKE_SIMD_OPTIONS: -DGMX_SIMD=None
327 CMAKE_EXTRA_OPTIONS: -DGMX_BUILD_HELP=on -DGMX_USE_RDTSCP=OFF
328 CMAKE_MPI_OPTIONS: -DGMX_THREAD_MPI=OFF -DGMX_OPENMP=OFF
330 # Jobs running during build stage
338 - job: configure-gcc-7
348 - .gmxapi-extra-installs
353 - job: configure-gcc-7-gmxapi
366 - job: configure-gcc-7-double
379 - job: configure-gcc-8
385 build-gcc-8-cuda-10.2:
388 - .gcc-8-cuda-10.2-template
392 - job: configure-gcc-8-cuda-10.2
398 build-gcc-7-simd-sse41:
405 - job: configure-gcc-7-simd-sse41
418 - job: configure-clang-7
424 build-clang-7-gmxapi:
427 - .gmxapi-extra-installs
432 - job: configure-clang-7-gmxapi
445 - job: configure-clang-8
458 - job: configure-clang-6
464 # Jobs running during test stage
480 - .gmxapi-extra-installs
485 - job: build-gcc-7-gmxapi
497 - job: build-gcc-7-double
514 test-gcc-8-cuda-10.2:
516 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
517 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
520 - .gcc-8-cuda-10.2-template
524 - job: build-gcc-8-cuda-10.2
529 test-gcc-7-simd-sse41:
536 - job: build-gcc-7-simd-sse41
556 - .gmxapi-extra-installs
561 - job: build-clang-7-gmxapi