2 .configure-extends-template:
4 - .configure-build-template
8 .configure-release-extends-template:
10 - .configure-build-release-template
14 .build-extends-template:
16 - .binary-build-template
17 - .build-cache-template
20 .test-extends-template:
23 - .pull-cache-template
24 - .test-script-template
27 .regressiontests-extends-template:
33 # Templates for configuration stage
36 - .configure-extends-template
37 - .gcc-before-script-template
40 .configure-gcc-release:
42 - .configure-release-extends-template
43 - .gcc-before-script-template
53 - .configure-extends-template
54 - .clang-before-script-template
55 - .build-clang-template
57 .configure-clang-release:
59 - .configure-release-extends-template
60 - .clang-before-script-template
61 - .build-clang-template
63 # Templates for build stage
66 - .build-extends-template
67 - .documentation-before-script-template
68 - .build-docs-binary-template
69 - .archive-build-template
73 - .build-extends-template
74 - .gcc-before-script-template
79 - .build-extends-template
80 - .clang-before-script-template
81 - .build-clang-template
88 # Templates for test stage
91 - .test-extends-template
92 - .gcc-before-script-template
102 - .test-extends-template
103 - .clang-before-script-template
104 - .test-clang-template
106 # Special job to package regressiontest files and have them available for testing
107 # Runs during pre-build
108 prepare-regressiontests:
110 - .regressiontests-extends-template
111 - .regressiontests-template
113 prepare-release-version:
115 - .regressiontests-extends-template
116 - .release-version-template
118 # Initial build that always needs to pass before follow-up stages run
121 - .simple-build-template
122 - .build-cache-template
123 - .variables-template
124 - .gcc-before-script-template
125 - .build-gcc-template
128 COMPILER_MAJOR_VERSION: 7
129 BUILD_DIR: simple-build
134 # Jobs running in first pre-build stage
143 COMPILER_MAJOR_VERSION: 7
148 configure-gcc-7-gmxapi:
151 - .configure-gmxapi-template
157 COMPILER_MAJOR_VERSION: 7
162 configure-gcc-7-double:
170 COMPILER_MAJOR_VERSION: 7
171 CMAKE_PRECISION_OPTIONS: -DGMX_DOUBLE=ON
184 COMPILER_MAJOR_VERSION: 8
189 configure-gcc-8-cuda-10.2:
191 - .configure-gcc-cuda
192 - .gcc-8-cuda-10.2-template
200 configure-gcc-7-simd-sse41:
208 COMPILER_MAJOR_VERSION: 7
209 CMAKE_SIMD_OPTIONS: "-DGMX_SIMD=SSE4.1"
222 COMPILER_MAJOR_VERSION: 7
227 configure-clang-7-gmxapi:
230 - .configure-gmxapi-template
236 COMPILER_MAJOR_VERSION: 7
249 COMPILER_MAJOR_VERSION: 8
254 # For version of clang before 7, we need to always provide the full version
255 # Use something like this instead in the download script:
256 # APT_COMPILER_VERSION=$(($COMPILER_MAJOR_VERSION < 7 ? "${COMPILER_MAJOR_VERSION}.0" : $COMPILER_MAJOR_VERSION))
265 COMPILER_MAJOR_VERSION: "6.0"
266 CMAKE_MPI_OPTIONS: -DGMX_OPENMP=OFF
271 configure-clang-tidy:
279 BUILD_DIR: build-clang-tidy
280 COMPILER_MAJOR_VERSION: 7
281 CMAKE_EXTRA_OPTIONS: -DCLANG_TIDY=clang-tidy-$COMPILER_MAJOR_VERSION -DGMX_CLANG_TIDY=ON -DGMX_COMPILER_WARNINGS=ON
282 EXTRA_INSTALLS: clang-tidy-$COMPILER_MAJOR_VERSION
287 # Only running in scheduled pipelines that are not release builds
288 configure-archive-nightly:
289 stage: nightly-configure
302 BUILD_DIR: build-package
303 CMAKE_SIMD_OPTIONS: -DGMX_SIMD=None
304 CMAKE_EXTRA_OPTIONS: -DGMX_BUILD_HELP=on -DGMX_USE_RDTSCP=OFF
305 CMAKE_MPI_OPTIONS: -DGMX_THREAD_MPI=OFF -DGMX_OPENMP=OFF
307 configure-archive-release:
319 BUILD_DIR: build-package
320 CMAKE_SIMD_OPTIONS: -DGMX_SIMD=None
321 CMAKE_EXTRA_OPTIONS: -DGMX_BUILD_HELP=on -DGMX_USE_RDTSCP=OFF
322 CMAKE_MPI_OPTIONS: -DGMX_THREAD_MPI=OFF -DGMX_OPENMP=OFF
324 # Jobs running during build stage
332 - job: configure-gcc-7
342 - .gmxapi-extra-installs
347 - job: configure-gcc-7-gmxapi
360 - job: configure-gcc-7-double
373 - job: configure-gcc-8
379 build-gcc-8-cuda-10.2:
382 - .gcc-8-cuda-10.2-template
386 - job: configure-gcc-8-cuda-10.2
392 build-gcc-7-simd-sse41:
399 - job: configure-gcc-7-simd-sse41
412 - job: configure-clang-7
418 build-clang-7-gmxapi:
421 - .gmxapi-extra-installs
426 - job: configure-clang-7-gmxapi
439 - job: configure-clang-8
452 - job: configure-clang-6
458 # Jobs running during test stage
474 - .gmxapi-extra-installs
479 - job: build-gcc-7-gmxapi
491 - job: build-gcc-7-double
508 test-gcc-8-cuda-10.2:
510 KUBERNETES_EXTENDED_RESOURCE_NAME: "nvidia.com/gpu"
511 KUBERNETES_EXTENDED_RESOURCE_LIMIT: 1
514 - .gcc-8-cuda-10.2-template
518 - job: build-gcc-8-cuda-10.2
523 test-gcc-7-simd-sse41:
530 - job: build-gcc-7-simd-sse41
550 - .gmxapi-extra-installs
555 - job: build-clang-7-gmxapi