.gitlab-ci.yml 27.3 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11
###############################################################################
##                                                                           ##
##    Genral settings                                                        ##
##                                                                           ##
###############################################################################

stages:
   - test
   - deploy

   
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
###############################################################################
##                                                                           ##
##    Build templates                                                        ##
##                                                                           ##
###############################################################################

.build_template: &build_definition
   script:
      - export NUM_CORES=$(nproc --all)
      - export MAX_BUILD_CORES=$(( $(awk '( $1 == "MemTotal:" ) { print $2 }' /proc/meminfo) / ( 4 * 1024 * 1024  ) ))
      - "[[ $MAX_BUILD_CORES -lt $NUM_CORES ]] && export NUM_BUILD_CORES=$MAX_BUILD_CORES || export NUM_BUILD_CORES=$NUM_CORES"
      - $CXX --version
      - cmake --version
      - ccache --version
      - mpirun --version
      - export CCACHE_BASEDIR=$CI_PROJECT_DIR
      - mkdir $CI_PROJECT_DIR/build
      - cd $CI_PROJECT_DIR/build
      - if dpkg --compare-versions `ompi_info | head -2 | tail -1 | sed 's/[^0-9.]*\([0-9.]*\).*/\1/'` ge 1.10; then export MPIEXEC_PREFLAGS="--allow-run-as-root" ; fi
31
      - cmake .. -DWALBERLA_BUFFER_DEBUG=$WALBERLA_BUFFER_DEBUG -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_TOOLS=ON -DWALBERLA_BUILD_WITH_MPI=$WALBERLA_BUILD_WITH_MPI -DWALBERLA_BUILD_WITH_CUDA=$WALBERLA_BUILD_WITH_CUDA -DWALBERLA_BUILD_WITH_PYTHON=$WALBERLA_BUILD_WITH_PYTHON -DWALBERLA_BUILD_WITH_OPENMP=$WALBERLA_BUILD_WITH_OPENMP -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DMPIEXEC_PREFLAGS=$MPIEXEC_PREFLAGS -DWALBERLA_DOUBLE_ACCURACY=$WALBERLA_DOUBLE_ACCURACY -DWARNING_ERROR=ON -DWALBERLA_BUILD_WITH_METIS=$WALBERLA_BUILD_WITH_METIS -DWALBERLA_BUILD_WITH_PARMETIS=$WALBERLA_BUILD_WITH_PARMETIS
32 33 34 35 36 37
      - cmake . -LAH
      - make -j $NUM_BUILD_CORES -l $NUM_CORES
      - ctest -LE $CTEST_EXCLUDE_LABELS -C $CMAKE_BUILD_TYPE --output-on-failure -j $NUM_CORES
   tags:
      - docker

Martin Bauer's avatar
Martin Bauer committed
38

39 40 41 42 43 44 45 46 47
.build_serial_template: &build_serial_definition
   <<: *build_definition
   variables:
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "OFF"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      CMAKE_BUILD_TYPE: "Release"
      WALBERLA_BUFFER_DEBUG: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
48 49
      WALBERLA_BUILD_WITH_METIS: "OFF"
      WALBERLA_BUILD_WITH_PARMETIS: "OFF"
Martin Bauer's avatar
Martin Bauer committed
50 51


52 53 54
.build_mpionly_template: &build_mpionly_definition
   <<: *build_definition
   variables:
55 56 57 58 59 60 61 62
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      CMAKE_BUILD_TYPE: "Release"
      WALBERLA_BUFFER_DEBUG: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
      WALBERLA_BUILD_WITH_METIS: "OFF"
      WALBERLA_BUILD_WITH_PARMETIS: "OFF"
Martin Bauer's avatar
Martin Bauer committed
63 64


65 66 67 68 69 70 71 72 73 74 75
.build_hybrid_template: &build_hybrid_definition
   <<: *build_definition
   variables:
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "ON"
      OMP_NUM_THREADS: "4"
      OMP_WAIT_POLICY: "PASSIVE"
      CMAKE_BUILD_TYPE: "Release"
      WALBERLA_BUFFER_DEBUG: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
76 77
      WALBERLA_BUILD_WITH_METIS: "ON"
      WALBERLA_BUILD_WITH_PARMETIS: "ON"
Martin Bauer's avatar
Martin Bauer committed
78

79 80 81 82 83 84 85 86 87
.build_serial_dbg_template: &build_serial_dbg_definition
   <<: *build_definition
   variables:
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "OFF"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      CMAKE_BUILD_TYPE: "DebugOptimized"
      WALBERLA_BUFFER_DEBUG: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
88 89
      WALBERLA_BUILD_WITH_METIS: "OFF"
      WALBERLA_BUILD_WITH_PARMETIS: "OFF"
Martin Bauer's avatar
Martin Bauer committed
90 91


92 93 94
.build_mpionly_dbg_template: &build_mpionly_dbg_definition
   <<: *build_definition
   variables:
95 96 97 98 99 100 101 102
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      CMAKE_BUILD_TYPE: "DebugOptimized"
      WALBERLA_BUFFER_DEBUG: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
      WALBERLA_BUILD_WITH_METIS: "OFF"
      WALBERLA_BUILD_WITH_PARMETIS: "OFF"
Martin Bauer's avatar
Martin Bauer committed
103 104


105 106 107 108 109 110 111 112 113 114 115
.build_hybrid_dbg_template: &build_hybrid_dbg_definition
   <<: *build_definition
   variables:
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "ON"
      OMP_NUM_THREADS: "4"
      OMP_WAIT_POLICY: "PASSIVE"
      CMAKE_BUILD_TYPE: "DebugOptimized"
      WALBERLA_BUFFER_DEBUG: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
116 117
      WALBERLA_BUILD_WITH_METIS: "ON"
      WALBERLA_BUILD_WITH_PARMETIS: "ON"
Martin Bauer's avatar
Martin Bauer committed
118

119 120 121 122 123 124 125 126 127 128 129
.build_hybrid_dbg_sp_template: &build_hybrid_dbg_sp_definition
   <<: *build_definition
   variables:
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "ON"
      OMP_NUM_THREADS: "4"
      OMP_WAIT_POLICY: "PASSIVE"
      CMAKE_BUILD_TYPE: "DebugOptimized"
      WALBERLA_BUFFER_DEBUG: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "OFF"
130 131
      WALBERLA_BUILD_WITH_METIS: "OFF"
      WALBERLA_BUILD_WITH_PARMETIS: "OFF"
Martin Bauer's avatar
Martin Bauer committed
132 133


134 135
###############################################################################
##                                                                           ##
Martin Bauer's avatar
Martin Bauer committed
136
##    Linux builds                                                           ##
137 138 139
##                                                                           ##
###############################################################################

Martin Bauer's avatar
Martin Bauer committed
140 141 142 143 144


intel_16_serial:
   <<: *build_serial_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
145 146
   only:
      - triggers
147
   tags:
148
      - cuda
Martin Bauer's avatar
Martin Bauer committed
149
      - docker
Martin Bauer's avatar
Martin Bauer committed
150
      - intel
Martin Bauer's avatar
Martin Bauer committed
151 152 153 154

intel_16_mpionly:
   <<: *build_mpionly_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
155 156
   only:
      - triggers
157
   tags:
158
      - cuda
Martin Bauer's avatar
Martin Bauer committed
159
      - docker
Martin Bauer's avatar
Martin Bauer committed
160
      - intel
Martin Bauer's avatar
Martin Bauer committed
161 162 163 164

intel_16_hybrid:
   <<: *build_hybrid_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
165 166
   only:
      - triggers
167
   tags:
168
      - cuda
Martin Bauer's avatar
Martin Bauer committed
169
      - docker
Martin Bauer's avatar
Martin Bauer committed
170
      - intel
Martin Bauer's avatar
Martin Bauer committed
171 172 173 174

intel_16_serial_dbg:
   <<: *build_serial_dbg_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
175 176
   only:
      - triggers
177
   tags:
178
      - cuda
Martin Bauer's avatar
Martin Bauer committed
179
      - docker
Martin Bauer's avatar
Martin Bauer committed
180
      - intel
Martin Bauer's avatar
Martin Bauer committed
181 182 183 184

intel_16_mpionly_dbg:
   <<: *build_mpionly_dbg_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
185 186
   only:
      - triggers
187
   tags:
188
      - cuda
Martin Bauer's avatar
Martin Bauer committed
189
      - docker
Martin Bauer's avatar
Martin Bauer committed
190
      - intel
Martin Bauer's avatar
Martin Bauer committed
191 192

intel_16_hybrid_dbg:
193
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
194
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
195
   tags:
196
      - cuda
Martin Bauer's avatar
Martin Bauer committed
197
      - docker
Martin Bauer's avatar
Martin Bauer committed
198
      - intel
Martin Bauer's avatar
Martin Bauer committed
199 200 201 202

intel_16_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
203 204
   only:
      - triggers
205
   tags:
206
      - cuda
Martin Bauer's avatar
Martin Bauer committed
207
      - docker
Martin Bauer's avatar
Martin Bauer committed
208
      - intel
Martin Bauer's avatar
Martin Bauer committed
209 210 211 212

intel_17_serial:
   <<: *build_serial_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
213 214
   only:
      - triggers
215
   tags:
Martin Bauer's avatar
Martin Bauer committed
216
      - docker
Martin Bauer's avatar
Martin Bauer committed
217
      - intel
Martin Bauer's avatar
Martin Bauer committed
218 219 220 221

intel_17_mpionly:
   <<: *build_mpionly_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
222 223
   only:
      - triggers
224
   tags:
Martin Bauer's avatar
Martin Bauer committed
225
      - docker
Martin Bauer's avatar
Martin Bauer committed
226
      - intel
Martin Bauer's avatar
Martin Bauer committed
227 228

intel_17_hybrid:
229
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
230
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
231
   tags:
Martin Bauer's avatar
Martin Bauer committed
232
      - docker
Martin Bauer's avatar
Martin Bauer committed
233
      - intel
Martin Bauer's avatar
Martin Bauer committed
234 235

intel_17_serial_dbg:
236
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
237
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
238
   tags:
Martin Bauer's avatar
Martin Bauer committed
239
      - docker
Martin Bauer's avatar
Martin Bauer committed
240
      - intel
Martin Bauer's avatar
Martin Bauer committed
241 242

intel_17_mpionly_dbg:
243
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
244
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
245
   tags:
Martin Bauer's avatar
Martin Bauer committed
246
      - docker
Martin Bauer's avatar
Martin Bauer committed
247
      - intel
Martin Bauer's avatar
Martin Bauer committed
248 249

intel_17_hybrid_dbg:
250
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
251
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
252
   tags:
Martin Bauer's avatar
Martin Bauer committed
253
      - docker
Martin Bauer's avatar
Martin Bauer committed
254
      - intel
Martin Bauer's avatar
Martin Bauer committed
255 256

intel_17_hybrid_dbg_sp:
257
   <<: *build_hybrid_dbg_sp_definition
Martin Bauer's avatar
Martin Bauer committed
258
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
259
   tags:
Martin Bauer's avatar
Martin Bauer committed
260
      - docker
Martin Bauer's avatar
Martin Bauer committed
261
      - intel
262

Martin Bauer's avatar
Martin Bauer committed
263
gcc_5_serial:
264
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
265
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
266 267
   only:
      - triggers
268 269 270
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
271 272

gcc_5_mpionly:
273
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
274
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
275 276
   only:
      - triggers
277 278 279
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
280 281

gcc_5_hybrid:
282
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
283 284
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
   tags:
Martin Bauer's avatar
Martin Bauer committed
285
      - cuda
286
      - docker
Martin Bauer's avatar
Martin Bauer committed
287 288

gcc_5_serial_dbg:
289
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
290 291
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
   tags:
Martin Bauer's avatar
Martin Bauer committed
292
      - cuda
293
      - docker
Martin Bauer's avatar
Martin Bauer committed
294 295

gcc_5_mpionly_dbg:
296
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
297
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
298 299
   only:
      - triggers
300 301 302
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
303 304

gcc_5_hybrid_dbg:
305
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
306
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
307 308 309
   tags:
      - cuda
      - docker
310

Martin Bauer's avatar
Martin Bauer committed
311 312 313
gcc_5_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
314 315
   only:
      - triggers
316 317 318
   tags:
      - cuda
      - docker
319

Martin Bauer's avatar
Martin Bauer committed
320
gcc_6_serial:
321
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
322
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
323 324
   only:
      - triggers
325 326
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
327 328

gcc_6_mpionly:
329
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
330
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
331 332
   only:
      - triggers
333 334
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
335 336

gcc_6_hybrid:
337
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
338
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
Christian Godenschwager's avatar
Christian Godenschwager committed
339 340
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
341 342 343 344
   tags:
      - docker

gcc_6_serial_dbg:
345
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
346
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
Christian Godenschwager's avatar
Christian Godenschwager committed
347 348
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
349 350 351 352
   tags:
      - docker

gcc_6_mpionly_dbg:
353
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
354
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
Christian Godenschwager's avatar
Christian Godenschwager committed
355 356
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
357 358 359 360
   tags:
      - docker

gcc_6_hybrid_dbg:
361
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
362
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
Christian Godenschwager's avatar
Christian Godenschwager committed
363 364
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
365 366
   tags:
      - docker
367

Martin Bauer's avatar
Martin Bauer committed
368 369 370
gcc_6_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
Christian Godenschwager's avatar
Christian Godenschwager committed
371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418
   only:
      - triggers
   tags:
      - docker

gcc_7_serial:
   <<: *build_serial_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
   only:
      - triggers
   tags:
      - docker

gcc_7_mpionly:
   <<: *build_mpionly_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
   only:
      - triggers
   tags:
      - docker

gcc_7_hybrid:
   <<: *build_hybrid_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
   tags:
      - docker

gcc_7_serial_dbg:
   <<: *build_serial_dbg_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
   tags:
      - docker

gcc_7_mpionly_dbg:
   <<: *build_mpionly_dbg_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
   tags:
      - docker

gcc_7_hybrid_dbg:
   <<: *build_hybrid_dbg_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
   tags:
      - docker

gcc_7_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:7
Martin Bauer's avatar
Martin Bauer committed
419 420
   tags:
      - docker
421

Martin Bauer's avatar
Martin Bauer committed
422
clang_3.6_serial:
423
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
424
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.6
425 426
   only:
      - triggers
427 428 429
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
430 431

clang_3.6_mpionly:
432
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
433
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.6
434 435
   only:
      - triggers
436 437 438
   tags:
      - cuda
      - docker
439

Martin Bauer's avatar
Martin Bauer committed
440
clang_3.6_serial_dbg:
441
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
442
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.6
443 444
   only:
      - triggers
445 446 447
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
448

449 450
clang_3.6_mpionly_dbg:
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
451
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.6
452 453 454
   tags:
      - cuda
      - docker
455

Martin Bauer's avatar
Martin Bauer committed
456
clang_3.7_serial:
457
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
458
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.7
459 460
   only:
      - triggers
461 462 463
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
464 465

clang_3.7_mpionly:
466
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
467
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.7
468 469
   only:
      - triggers
470 471 472
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
473 474

clang_3.7_serial_dbg:
475
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
476
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.7
477 478
   only:
      - triggers
479 480 481
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
482 483

clang_3.7_mpionly_dbg:
484
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
485
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.7
486 487
   only:
      - triggers
488 489 490
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
491 492

clang_3.8_serial:
493
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
494
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
495 496
   only:
      - triggers
497 498 499
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
500 501

clang_3.8_mpionly:
502
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
503
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
504 505
   only:
      - triggers
506 507 508
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
509 510

clang_3.8_hybrid:
511
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
512
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
513 514
   only:
      - triggers
515 516 517
   tags:
      - cuda
      - docker
518

Martin Bauer's avatar
Martin Bauer committed
519
clang_3.8_serial_dbg:
520
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
521
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
522 523
   only:
      - triggers
524 525 526
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
527 528

clang_3.8_mpionly_dbg:
529
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
530
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
531 532
   only:
      - triggers
533 534 535
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
536 537

clang_3.8_hybrid_dbg:
538
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
539
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
540 541
   only:
      - triggers
542 543 544
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
545 546 547 548

clang_3.8_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
549 550
   only:
      - triggers
551 552 553
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
554 555

clang_3.9_serial:
556
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
557
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
558 559
   only:
      - triggers
560 561
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
562 563

clang_3.9_mpionly:
564
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
565
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
566 567
   only:
      - triggers
568 569
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
570 571

clang_3.9_hybrid:
572
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
573
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
574 575
   only:
      - triggers
576 577
   tags:
      - docker
578

Martin Bauer's avatar
Martin Bauer committed
579
clang_3.9_serial_dbg:
580
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
581
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
582 583
   only:
      - triggers
584 585
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
586 587

clang_3.9_mpionly_dbg:
588
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
589
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
590 591
   only:
      - triggers
592 593
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
594 595

clang_3.9_hybrid_dbg:
596
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
597
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
598 599
   only:
      - triggers
600 601
   tags:
      - docker
Sebastian Eibl's avatar
Sebastian Eibl committed
602

Martin Bauer's avatar
Martin Bauer committed
603 604 605
clang_3.9_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
606 607
   only:
      - triggers
608 609
   tags:
      - docker
Sebastian Eibl's avatar
Sebastian Eibl committed
610

Martin Bauer's avatar
Martin Bauer committed
611
clang_4.0_serial:
Sebastian Eibl's avatar
Sebastian Eibl committed
612
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
613
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
614 615
   only:
      - triggers
616 617
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
618 619

clang_4.0_mpionly:
Sebastian Eibl's avatar
Sebastian Eibl committed
620
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
621
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
622 623
   only:
      - triggers
624 625
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
626 627

clang_4.0_hybrid:
Sebastian Eibl's avatar
Sebastian Eibl committed
628
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
629
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
Sebastian Eibl's avatar
Sebastian Eibl committed
630 631
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
632 633
   tags:
      - docker
Sebastian Eibl's avatar
Sebastian Eibl committed
634

Martin Bauer's avatar
Martin Bauer committed
635
clang_4.0_serial_dbg:
Sebastian Eibl's avatar
Sebastian Eibl committed
636
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
637
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
Sebastian Eibl's avatar
Sebastian Eibl committed
638 639
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
640 641 642 643
   tags:
      - docker

clang_4.0_mpionly_dbg:
Sebastian Eibl's avatar
Sebastian Eibl committed
644
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
645
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
Sebastian Eibl's avatar
Sebastian Eibl committed
646 647
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
648 649 650 651
   tags:
      - docker

clang_4.0_hybrid_dbg:
Sebastian Eibl's avatar
Sebastian Eibl committed
652
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
653
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
Sebastian Eibl's avatar
Sebastian Eibl committed
654 655
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
656 657 658 659
   tags:
      - docker

clang_4.0_hybrid_dbg_sp:
660
   <<: *build_hybrid_dbg_sp_definition
Martin Bauer's avatar
Martin Bauer committed
661
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
Sebastian Eibl's avatar
Sebastian Eibl committed
662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709
   only:
      - triggers
   tags:
      - docker

clang_5.0_serial:
   <<: *build_serial_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
   only:
      - triggers
   tags:
      - docker

clang_5.0_mpionly:
   <<: *build_mpionly_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
   only:
      - triggers
   tags:
      - docker

clang_5.0_hybrid:
   <<: *build_hybrid_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
   tags:
      - docker

clang_5.0_serial_dbg:
   <<: *build_serial_dbg_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
   tags:
      - docker

clang_5.0_mpionly_dbg:
   <<: *build_mpionly_dbg_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
   tags:
      - docker

clang_5.0_hybrid_dbg:
   <<: *build_hybrid_dbg_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
   tags:
      - docker

clang_5.0_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:5.0
Martin Bauer's avatar
Martin Bauer committed
710 711
   tags:
      - docker
712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758



###############################################################################
##                                                                           ##
##    Documentation                                                         ##
##                                                                           ##
###############################################################################

doc:
   image: walberla/buildenv-ubuntu-basic:16.04
   script:
      - cmake --version
      - doxygen --version
      - mkdir $CI_PROJECT_DIR/build
      - cd $CI_PROJECT_DIR/build
      - cmake ..
      - cmake . -LAH
      - make doc
   tags:
      - docker
   artifacts:
      paths:
        - build/doc
      expire_in: 1 weeks



###############################################################################
##                                                                           ##
##    Code analysis                                                          ##
##                                                                           ##
###############################################################################

cppcheck:
   image: walberla/cppcheck
   script:
      - cppcheck --version
      - cppcheck . --max-configs=10 --enable=warning --enable=style --enable=performance --enable=portability -i src/gui/extern -i src/geometry/structured/extern -i sqlite3.c -i StackWalker.cpp -I src/ -I tests/ -I apps/ -D WALBERLA_BUILD_WITH_MPI -D WALBERLA_BUILD_WITH_METIS -D WALBERLA_BUILD_WITH_BOOST_THREAD -D WALBERLA_BUILD_WITH_PYTHON --xml 2> report.xml
      - cppcheck-htmlreport --file=report.xml --report-dir=html_report --source-dir=.
   artifacts:
      untracked: true
   only:
      - triggers
   tags:
      - docker

Martin Bauer's avatar
Martin Bauer committed
759

760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789
coverage:
   image: walberla/coverage
   script:
      - $CXX --version
      - cmake --version
      - gcovr --version
      - mkdir build
      - cd build
      - if dpkg --compare-versions `ompi_info | head -2 | tail -1 | sed 's/[^0-9.]*\([0-9.]*\).*/\1/'` ge 1.10; then export MPIEXEC_PREFLAGS="--allow-run-as-root" ; fi
      - cmake .. -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_WITH_MPI=ON -DWALBERLA_BUILD_WITH_OPENMP=OFF -DCMAKE_BUILD_TYPE=Debug -DMPIEXEC_PREFLAGS=$MPIEXEC_PREFLAGS
      - cmake . -LAH
      - make -j 8
      - ctest -LE longrun --output-on-failure -j 8_Hybrid
      - cd ..
      - mkdir coverage
      - cd coverage
      - pwd
      - gcovr -r $CI_PROJECT_DIR -f ".*\\/src\\/.*" -k
      - gcovr -r $CI_PROJECT_DIR -f ".*\\/src\\/.*" --html --html-details -o coverage.html -g
   artifacts:
      paths:
         - coverage/
   only:
      - triggers
   tags:
      - docker
   variables:
      CXXFLAGS: "-fprofile-arcs -ftest-coverage -fPIC -O0"
      LDFLAGS: "-fprofile-arcs -ftest-coverage -fPIC -O0"

Martin Bauer's avatar
Martin Bauer committed
790 791


792 793
###############################################################################
##                                                                           ##
794
##    Windows Builds                                                         ##
795
##                                                                           ##
Martin Bauer's avatar
Martin Bauer committed
796
###############################################################################
797 798
      
     
799 800 801 802 803 804 805 806 807 808 809 810 811 812
.win_build_template: &win_build_definition
   tags:
      - win
   script:
      - export PreferredToolArchitecture=x64
      - export OMP_NUM_THREADS=4
      - export OMP_WAIT_POLICY="PASSIVE"
      - export MSMPI_DISABLE_SHM=1
      - cmake --version
      - mkdir build
      - cd build
      - cmake -LAH -DWALBERLA_BUILD_TESTS=ON -DWALBERLA_BUILD_BENCHMARKS=ON -DWALBERLA_BUILD_TUTORIALS=ON -DWALBERLA_BUILD_WITH_MPI=$WALBERLA_BUILD_WITH_MPI -DWALBERLA_BUILD_WITH_OPENMP=$WALBERLA_BUILD_WITH_OPENMP -DWALBERLA_DOUBLE_ACCURACY=$WALBERLA_DOUBLE_ACCURACY -DWARNING_ERROR=ON -G "$CMAKE_GENERATOR" ..
      - MSBuild.exe walberla.sln /property:Configuration=$BUILD_CONFIGURATION /verbosity:minimal /maxcpucount:4
      - ctest -LE $CTEST_EXCLUDE_LABELS -C $BUILD_CONFIGURATION --output-on-failure -j 4
813 814
      
      
815 816 817 818 819 820 821 822 823
msvc-14_Hybrid_Dbg:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 14 2015 Win64"
      BUILD_CONFIGURATION: "DebugOptimized"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "ON"
      WALBERLA_DOUBLE_ACCURACY: "ON"
824
      
825 826 827 828 829 830 831 832 833
msvc-14_Hybrid_SP_Dbg:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 14 2015 Win64"
      BUILD_CONFIGURATION: "DebugOptimized"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "ON"
      WALBERLA_DOUBLE_ACCURACY: "OFF"
834 835 836
   only:
      - triggers
      
837 838 839 840 841 842 843 844 845
msvc-14_Hybrid:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 14 2015 Win64"
      BUILD_CONFIGURATION: "Release"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "ON"
      WALBERLA_DOUBLE_ACCURACY: "ON"
846 847 848
   only:
      - triggers
      
849 850 851 852 853 854 855 856 857
msvc-14_Serial_Dbg:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 14 2015 Win64"
      BUILD_CONFIGURATION: "DebugOptimized"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "OFF"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
858 859 860
   only:
      - triggers
      
861 862 863 864 865 866 867 868 869 870 871
msvc-14_Serial:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 14 2015 Win64"
      BUILD_CONFIGURATION: "Release"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "OFF"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
   only:
      - triggers
872
      
873 874 875 876 877 878 879 880 881
msvc-14_MpiOnly_Dbg:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 14 2015 Win64"
      BUILD_CONFIGURATION: "DebugOptimized"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
882 883 884
   only:
      - triggers
      
885 886 887 888 889 890 891 892 893
msvc-14_MpiOnly:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 14 2015 Win64"
      BUILD_CONFIGURATION: "Release"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968
   only:
      - triggers
      
      
msvc-14.1_Hybrid_Dbg:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
      BUILD_CONFIGURATION: "DebugOptimized"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "ON"
      WALBERLA_DOUBLE_ACCURACY: "ON"
      
msvc-14.1_Hybrid_SP_Dbg:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
      BUILD_CONFIGURATION: "DebugOptimized"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "ON"
      WALBERLA_DOUBLE_ACCURACY: "OFF"
      
msvc-14.1_Hybrid:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
      BUILD_CONFIGURATION: "Release"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "ON"
      WALBERLA_DOUBLE_ACCURACY: "ON"
      
msvc-14.1_Serial_Dbg:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
      BUILD_CONFIGURATION: "DebugOptimized"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "OFF"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
      
msvc-14.1_Serial:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
      BUILD_CONFIGURATION: "Release"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "OFF"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
   only:
      - triggers
      
msvc-14.1_MpiOnly_Dbg:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
      BUILD_CONFIGURATION: "DebugOptimized"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
      
msvc-14.1_MpiOnly:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
      BUILD_CONFIGURATION: "Release"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
969
   only:
970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987
      - triggers


###############################################################################
##                                                                           ##
##    Deploy jobs                                                            ##
##                                                                           ##
###############################################################################

.conda-deploy: &conda_deploy_definition
   stage: deploy
   before_script:
      - conda install -y conda-build anaconda-client
      - anaconda login --username $CONDA_DEPLOY_USER --password $CONDA_DEPLOY_PASSWORD --hostname $CI_JOB_ID
      - conda config --set anaconda_upload yes
      - conda config --add channels lssfau
   after_script:
      - anaconda logout
988
   dependencies: []
989 990
   when: manual
   only:
991
      - master@walberla/walberla   
992 993
      - tags@walberla/walberla

Michael Kuron's avatar
Michael Kuron committed
994
conda-py36-win:
995 996 997 998
   <<: *conda_deploy_definition
   tags:
      - win
   script:
Michael Kuron's avatar
Michael Kuron committed
999
      - conda build --python=3.6 --user=lssfau utilities\\conda\\walberla
1000
      
Michael Kuron's avatar
Michael Kuron committed
1001
conda-py35-win:
1002 1003 1004 1005
   <<: *conda_deploy_definition
   tags:
      - win
   script:
Michael Kuron's avatar
Michael Kuron committed
1006
      - conda build --python=3.5 --user=lssfau utilities\\conda\\walberla
1007

Michael Kuron's avatar
Michael Kuron committed
1008
conda-py36-linux:
1009 1010 1011 1012 1013 1014 1015
   <<: *conda_deploy_definition
   tags:
      - docker
   image: continuumio/miniconda3
   script:
      - apt-get update
      - apt-get install -y build-essential
Michael Kuron's avatar
Michael Kuron committed
1016
      - conda build --python=3.6 --user=lssfau utilities/conda/walberla
1017
      
Michael Kuron's avatar
Michael Kuron committed
1018
conda-py35-linux:
1019 1020 1021 1022 1023 1024 1025
   <<: *conda_deploy_definition
   tags:
      - docker
   image: continuumio/miniconda3
   script:
      - apt-get update
      - apt-get install -y build-essential
Michael Kuron's avatar
Michael Kuron committed
1026
      - conda build --python=3.5 --user=lssfau utilities/conda/walberla