.gitlab-ci.yml 35.6 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
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"
Martin Bauer's avatar
Martin Bauer committed
48 49


50 51 52 53 54 55 56 57 58
.build_mpionly_template: &build_mpionly_definition
   <<: *build_definition
   variables:
       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"
Martin Bauer's avatar
Martin Bauer committed
59 60


61 62 63 64 65 66 67 68 69 70 71
.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"
Martin Bauer's avatar
Martin Bauer committed
72

73 74 75 76 77 78 79 80 81
.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"
Martin Bauer's avatar
Martin Bauer committed
82 83


84 85 86 87 88 89 90 91 92
.build_mpionly_dbg_template: &build_mpionly_dbg_definition
   <<: *build_definition
   variables:
       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"
Martin Bauer's avatar
Martin Bauer committed
93 94


95 96 97 98 99 100 101 102 103 104 105
.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"
Martin Bauer's avatar
Martin Bauer committed
106

107 108 109 110 111 112 113 114 115 116 117
.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"
Martin Bauer's avatar
Martin Bauer committed
118 119


120 121
###############################################################################
##                                                                           ##
Martin Bauer's avatar
Martin Bauer committed
122
##    Linux builds                                                           ##
123 124 125
##                                                                           ##
###############################################################################

Martin Bauer's avatar
Martin Bauer committed
126 127 128


intel_15_serial:
129
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
130
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:15
131 132
   only:
      - triggers
133
   tags:
Martin Bauer's avatar
Martin Bauer committed
134
      - docker
Martin Bauer's avatar
Martin Bauer committed
135
      - intel
Martin Bauer's avatar
Martin Bauer committed
136 137 138 139

intel_15_mpionly:
   <<: *build_mpionly_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:15
140 141
   only:
      - triggers
142
   tags:
Martin Bauer's avatar
Martin Bauer committed
143
      - docker
Martin Bauer's avatar
Martin Bauer committed
144
      - intel
Martin Bauer's avatar
Martin Bauer committed
145 146 147 148

intel_15_hybrid:
   <<: *build_hybrid_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:15
149 150
   only:
      - triggers
151
   tags:
Martin Bauer's avatar
Martin Bauer committed
152
      - docker
Martin Bauer's avatar
Martin Bauer committed
153
      - intel
Martin Bauer's avatar
Martin Bauer committed
154 155 156 157

intel_15_serial_dbg:
   <<: *build_serial_dbg_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:15
158 159
   only:
      - triggers
160
   tags:
Martin Bauer's avatar
Martin Bauer committed
161
      - docker
Martin Bauer's avatar
Martin Bauer committed
162
      - intel
Martin Bauer's avatar
Martin Bauer committed
163 164 165 166

intel_15_mpionly_dbg:
   <<: *build_mpionly_dbg_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:15
167 168
   only:
      - triggers
169
   tags:
Martin Bauer's avatar
Martin Bauer committed
170
      - docker
Martin Bauer's avatar
Martin Bauer committed
171
      - intel
Martin Bauer's avatar
Martin Bauer committed
172 173

intel_15_hybrid_dbg:
174
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
175
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:15
176
   tags:
Martin Bauer's avatar
Martin Bauer committed
177
      - docker
Martin Bauer's avatar
Martin Bauer committed
178
      - intel
179

Martin Bauer's avatar
Martin Bauer committed
180 181 182
intel_15_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:15
183 184
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
185 186
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
187
      - intel
Martin Bauer's avatar
Martin Bauer committed
188 189 190 191

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

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

intel_16_hybrid:
   <<: *build_hybrid_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
212 213
   only:
      - triggers
214
   tags:
215
      - cuda
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_16_serial_dbg:
   <<: *build_serial_dbg_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
222 223
   only:
      - triggers
224
   tags:
225
      - cuda
Martin Bauer's avatar
Martin Bauer committed
226
      - docker
Martin Bauer's avatar
Martin Bauer committed
227
      - intel
Martin Bauer's avatar
Martin Bauer committed
228 229 230 231

intel_16_mpionly_dbg:
   <<: *build_mpionly_dbg_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
232 233
   only:
      - triggers
234
   tags:
235
      - cuda
Martin Bauer's avatar
Martin Bauer committed
236
      - docker
Martin Bauer's avatar
Martin Bauer committed
237
      - intel
Martin Bauer's avatar
Martin Bauer committed
238 239

intel_16_hybrid_dbg:
240
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
241
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
242 243
   only:
      - triggers
244
   tags:
245
      - cuda
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 250 251

intel_16_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
252 253
   only:
      - triggers
254
   tags:
255
      - cuda
Martin Bauer's avatar
Martin Bauer committed
256
      - docker
Martin Bauer's avatar
Martin Bauer committed
257
      - intel
Martin Bauer's avatar
Martin Bauer committed
258 259 260 261

intel_17_serial:
   <<: *build_serial_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
262 263
   only:
      - triggers
264
   tags:
Martin Bauer's avatar
Martin Bauer committed
265
      - docker
Martin Bauer's avatar
Martin Bauer committed
266
      - intel
Martin Bauer's avatar
Martin Bauer committed
267 268 269 270

intel_17_mpionly:
   <<: *build_mpionly_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
271 272
   only:
      - triggers
273
   tags:
Martin Bauer's avatar
Martin Bauer committed
274
      - docker
Martin Bauer's avatar
Martin Bauer committed
275
      - intel
Martin Bauer's avatar
Martin Bauer committed
276 277

intel_17_hybrid:
278
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
279
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
280
   tags:
Martin Bauer's avatar
Martin Bauer committed
281
      - docker
Martin Bauer's avatar
Martin Bauer committed
282
      - intel
Martin Bauer's avatar
Martin Bauer committed
283 284

intel_17_serial_dbg:
285
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
286
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
287
   tags:
Martin Bauer's avatar
Martin Bauer committed
288
      - docker
Martin Bauer's avatar
Martin Bauer committed
289
      - intel
Martin Bauer's avatar
Martin Bauer committed
290 291

intel_17_mpionly_dbg:
292
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
293
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
294
   tags:
Martin Bauer's avatar
Martin Bauer committed
295
      - docker
Martin Bauer's avatar
Martin Bauer committed
296
      - intel
Martin Bauer's avatar
Martin Bauer committed
297 298

intel_17_hybrid_dbg:
299
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
300
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
301
   tags:
Martin Bauer's avatar
Martin Bauer committed
302
      - docker
Martin Bauer's avatar
Martin Bauer committed
303
      - intel
Martin Bauer's avatar
Martin Bauer committed
304 305

intel_17_hybrid_dbg_sp:
306
   <<: *build_hybrid_dbg_sp_definition
Martin Bauer's avatar
Martin Bauer committed
307
   image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17
308
   tags:
Martin Bauer's avatar
Martin Bauer committed
309
      - docker
Martin Bauer's avatar
Martin Bauer committed
310
      - intel
311

Martin Bauer's avatar
Martin Bauer committed
312
gcc_4.7_serial:
313
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
314
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.7
315 316
   only:
      - triggers
317 318
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
319 320

gcc_4.7_mpionly:
321
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
322
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.7
323 324
   only:
      - triggers
325 326
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
327 328

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

gcc_4.7_serial_dbg:
337
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
338
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.7
339 340
   only:
      - triggers
341 342
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
343 344

gcc_4.7_mpionly_dbg:
345
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
346
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.7
347 348
   only:
      - triggers
349 350
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
351 352

gcc_4.7_hybrid_dbg:
353
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
354 355 356 357 358 359 360
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.7
   tags:
      - docker

gcc_4.7_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.7
361 362
   only:
      - triggers
363 364
   tags:
      - docker
365

Martin Bauer's avatar
Martin Bauer committed
366
gcc_4.8_serial:
367
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
368
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.8
369 370
   only:
      - triggers
371 372
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
373 374

gcc_4.8_mpionly:
375
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
376
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.8
377 378
   only:
      - triggers
379 380
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
381 382

gcc_4.8_hybrid:
383
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
384
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.8
385 386
   only:
      - triggers
387 388
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
389 390

gcc_4.8_serial_dbg:
391
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
392
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.8
393 394
   only:
      - triggers
395 396
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
397 398

gcc_4.8_mpionly_dbg:
399
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
400
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.8
401 402
   only:
      - triggers
403 404
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
405 406

gcc_4.8_hybrid_dbg:
407
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
408
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.8
409 410
   only:
      - triggers
411 412
   tags:
      - docker
413

Martin Bauer's avatar
Martin Bauer committed
414 415 416
gcc_4.8_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.8
417 418
   only:
      - triggers
419 420
   tags:
      - docker
421

Martin Bauer's avatar
Martin Bauer committed
422
gcc_4.9_serial:
423
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
424
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.9
425 426
   only:
      - triggers
427 428
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
429 430

gcc_4.9_mpionly:
431
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
432
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.9
433 434
   only:
      - triggers
435 436
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
437 438

gcc_4.9_hybrid:
439
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
440
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.9
441 442
   only:
      - triggers
443 444
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
445 446

gcc_4.9_serial_dbg:
447
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
448
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.9
449 450
   only:
      - triggers
451 452
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
453 454

gcc_4.9_mpionly_dbg:
455
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
456
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.9
457 458
   only:
      - triggers
459 460
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
461 462

gcc_4.9_hybrid_dbg:
463
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
464
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.9
465 466
   only:
      - triggers
467 468
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
469 470 471 472

gcc_4.9_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:4.9
473 474
   only:
      - triggers
475 476
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
477 478

gcc_5_serial:
479
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
480
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
481 482
   only:
      - triggers
483 484 485
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
486 487

gcc_5_mpionly:
488
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
489
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
490 491
   only:
      - triggers
492 493 494
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
495 496

gcc_5_hybrid:
497
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
498 499
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
   tags:
Martin Bauer's avatar
Martin Bauer committed
500
      - cuda
501
      - docker
Martin Bauer's avatar
Martin Bauer committed
502 503

gcc_5_serial_dbg:
504
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
505 506
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
   tags:
Martin Bauer's avatar
Martin Bauer committed
507
      - cuda
508
      - docker
Martin Bauer's avatar
Martin Bauer committed
509 510

gcc_5_mpionly_dbg:
511
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
512
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
513 514
   only:
      - triggers
515 516 517
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
518 519

gcc_5_hybrid_dbg:
520
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
521
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
522 523
   only:
      - triggers
524 525 526
   tags:
      - cuda
      - docker
527

Martin Bauer's avatar
Martin Bauer committed
528 529 530
gcc_5_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5
531 532
   only:
      - triggers
533 534 535
   tags:
      - cuda
      - docker
536

Martin Bauer's avatar
Martin Bauer committed
537
gcc_6_serial:
538
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
539
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
540 541
   only:
      - triggers
542 543
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
544 545

gcc_6_mpionly:
546
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
547
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
548 549
   only:
      - triggers
550 551
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
552 553

gcc_6_hybrid:
554
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
555
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
556 557
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
558 559 560 561
   tags:
      - docker

gcc_6_serial_dbg:
562
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
563
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
564 565
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
566 567 568 569
   tags:
      - docker

gcc_6_mpionly_dbg:
570
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
571
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
572 573
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
574 575 576 577
   tags:
      - docker

gcc_6_hybrid_dbg:
578
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
579
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
580 581
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
582 583
   tags:
      - docker
584

Martin Bauer's avatar
Martin Bauer committed
585 586 587
gcc_6_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6
588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635
   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
636 637
   tags:
      - docker
638

Martin Bauer's avatar
Martin Bauer committed
639
clang_3.4_serial:
640
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
641
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.4
642 643
   only:
      - triggers
644 645
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
646 647

clang_3.4_mpionly:
648
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
649
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.4
650 651
   only:
      - triggers
652 653
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
654 655

clang_3.4_serial_dbg:
656
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
657
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.4
658 659
   only:
      - triggers
660 661
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
662 663

clang_3.4_mpionly_dbg:
664
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
665
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.4
666 667
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
668 669

clang_3.5_serial:
670
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
671
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.5
672 673
   only:
      - triggers
674 675 676
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
677 678

clang_3.5_mpionly:
679
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
680
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.5
681 682
   only:
      - triggers
683 684 685
   tags:
      - cuda
      - docker
686

Martin Bauer's avatar
Martin Bauer committed
687
clang_3.5_serial_dbg:
688
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
689
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.5
690 691
   only:
      - triggers
692 693 694
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
695 696

clang_3.5_mpionly_dbg:
697
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
698
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.5
699 700
   only:
      - triggers
701 702 703
   tags:
      - cuda
      - docker
704

Martin Bauer's avatar
Martin Bauer committed
705
clang_3.6_serial:
706
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
707
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.6
708 709
   only:
      - triggers
710 711 712
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
713 714

clang_3.6_mpionly:
715
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
716
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.6
717 718
   only:
      - triggers
719 720 721
   tags:
      - cuda
      - docker
722

Martin Bauer's avatar
Martin Bauer committed
723
clang_3.6_serial_dbg:
724
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
725
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.6
726 727
   only:
      - triggers
728 729 730
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
731

732 733
clang_3.6_mpionly_dbg:
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
734
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.6
735 736
   only:
      - triggers
737 738 739
   tags:
      - cuda
      - docker
740

Martin Bauer's avatar
Martin Bauer committed
741
clang_3.7_serial:
742
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
743
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.7
744 745
   only:
      - triggers
746 747 748
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
749 750

clang_3.7_mpionly:
751
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
752
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.7
753 754
   only:
      - triggers
755 756 757
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
758 759

clang_3.7_serial_dbg:
760
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
761
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.7
762 763
   only:
      - triggers
764 765 766
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
767 768

clang_3.7_mpionly_dbg:
769
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
770
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.7
771 772
   only:
      - triggers
773 774 775
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
776 777

clang_3.8_serial:
778
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
779
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
780 781
   only:
      - triggers
782 783 784
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
785 786

clang_3.8_mpionly:
787
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
788
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
789 790
   only:
      - triggers
791 792 793
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
794 795

clang_3.8_hybrid:
796
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
797
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
798 799
   only:
      - triggers
800 801 802
   tags:
      - cuda
      - docker
803

Martin Bauer's avatar
Martin Bauer committed
804
clang_3.8_serial_dbg:
805
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
806
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
807 808
   only:
      - triggers
809 810 811
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
812 813

clang_3.8_mpionly_dbg:
814
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
815
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
816 817
   only:
      - triggers
818 819 820
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
821 822

clang_3.8_hybrid_dbg:
823
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
824
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
825 826
   only:
      - triggers
827 828 829
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
830 831 832 833

clang_3.8_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8
834 835
   only:
      - triggers
836 837 838
   tags:
      - cuda
      - docker
Martin Bauer's avatar
Martin Bauer committed
839 840

clang_3.9_serial:
841
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
842
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
843 844
   only:
      - triggers
845 846
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
847 848

clang_3.9_mpionly:
849
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
850
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
851 852
   only:
      - triggers
853 854
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
855 856

clang_3.9_hybrid:
857
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
858
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
859 860
   only:
      - triggers
861 862
   tags:
      - docker
863

Martin Bauer's avatar
Martin Bauer committed
864
clang_3.9_serial_dbg:
865
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
866
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
867 868
   only:
      - triggers
869 870
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
871 872

clang_3.9_mpionly_dbg:
873
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
874
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
875 876
   only:
      - triggers
877 878
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
879 880

clang_3.9_hybrid_dbg:
881
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
882
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
883 884
   only:
      - triggers
885 886
   tags:
      - docker
887

Martin Bauer's avatar
Martin Bauer committed
888 889 890
clang_3.9_hybrid_dbg_sp:
   <<: *build_hybrid_dbg_sp_definition
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9
891 892
   only:
      - triggers
893 894
   tags:
      - docker
895

Martin Bauer's avatar
Martin Bauer committed
896
clang_4.0_serial:
897
   <<: *build_serial_definition
Martin Bauer's avatar
Martin Bauer committed
898
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
899 900
   only:
      - triggers
901 902
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
903 904

clang_4.0_mpionly:
905
   <<: *build_mpionly_definition
Martin Bauer's avatar
Martin Bauer committed
906
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
907 908
   only:
      - triggers
909 910
   tags:
      - docker
Martin Bauer's avatar
Martin Bauer committed
911 912

clang_4.0_hybrid:
913
   <<: *build_hybrid_definition
Martin Bauer's avatar
Martin Bauer committed
914
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
915 916
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
917 918
   tags:
      - docker
919

Martin Bauer's avatar
Martin Bauer committed
920
clang_4.0_serial_dbg:
921
   <<: *build_serial_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
922
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
923 924
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
925 926 927 928
   tags:
      - docker

clang_4.0_mpionly_dbg:
929
   <<: *build_mpionly_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
930
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
931 932
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
933 934 935 936
   tags:
      - docker

clang_4.0_hybrid_dbg:
937
   <<: *build_hybrid_dbg_definition
Martin Bauer's avatar
Martin Bauer committed
938
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
939 940
   only:
      - triggers
Martin Bauer's avatar
Martin Bauer committed
941 942 943 944
   tags:
      - docker

clang_4.0_hybrid_dbg_sp:
945
   <<: *build_hybrid_dbg_sp_definition
Martin Bauer's avatar
Martin Bauer committed
946
   image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0
947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994
   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
995 996
   tags:
      - docker
997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043



###############################################################################
##                                                                           ##
##    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
1044

1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074
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
1075 1076


1077 1078
###############################################################################
##                                                                           ##
1079
##    Windows Builds                                                         ##
1080
##                                                                           ##
Martin Bauer's avatar
Martin Bauer committed
1081
###############################################################################
1082 1083
      
     
1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097
.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
1098 1099
      
      
1100 1101 1102 1103 1104 1105 1106 1107 1108
msvc-12_Hybrid_Dbg:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 12 2013 Win64"
      BUILD_CONFIGURATION: "DebugOptimized"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "ON"
      WALBERLA_DOUBLE_ACCURACY: "ON"
1109
      
1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120
msvc-12_Hybrid_SP_Dbg:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 12 2013 Win64"
      BUILD_CONFIGURATION: "DebugOptimized"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "ON"
      WALBERLA_DOUBLE_ACCURACY: "OFF"
   only:
      - triggers
1121
      
1122 1123 1124 1125 1126 1127 1128 1129 1130 1131
msvc-12_Hybrid:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 12 2013 Win64"
      BUILD_CONFIGURATION: "Release"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "ON"
      WALBERLA_DOUBLE_ACCURACY: "ON"
   only:
1132 1133
      - triggers   
      
1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144
msvc-12_Serial_Dbg:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 12 2013 Win64"
      BUILD_CONFIGURATION: "DebugOptimized"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "OFF"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
   only:
      - triggers
1145
      
1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156
msvc-12_Serial:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 12 2013 Win64"
      BUILD_CONFIGURATION: "Release"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "OFF"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
   only:
      - triggers
1157
      
1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168
msvc-12_MpiOnly_Dbg:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 12 2013 Win64"
      BUILD_CONFIGURATION: "DebugOptimized"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
   only:
      - triggers
1169
      
1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180
msvc-12_MpiOnly:
   <<: *win_build_definition
   variables:
      CMAKE_GENERATOR: "Visual Studio 12 2013 Win64"
      BUILD_CONFIGURATION: "Release"
      CTEST_EXCLUDE_LABELS: "longrun"
      WALBERLA_BUILD_WITH_MPI: "ON"
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
   only:
      - triggers
1181
      
1182 1183 1184 1185 1186 1187 1188 1189 1190
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"
1191 1192 1193
   only:
      - triggers
      
1194 1195 1196 1197 1198 1199 1200 1201 1202
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"
1203 1204 1205
   only:
      - triggers
      
1206 1207 1208 1209 1210 1211 1212 1213 1214
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"
1215 1216 1217
   only:
      - triggers
      
1218 1219 1220 1221 1222 1223 1224 1225 1226
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"
1227 1228 1229
   only:
      - triggers
      
1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240
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
1241
      
1242 1243 1244 1245 1246 1247 1248 1249 1250
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"
1251 1252 1253
   only:
      - triggers
      
1254 1255 1256 1257 1258 1259 1260 1261 1262
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"
1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337
   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"
1338
   only:
1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351
      - triggers


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

.conda-deploy: &conda_deploy_definition
   stage: deploy
   before_script:
      - conda install -y conda-build anaconda-client
1352
      - conda install conda-build==3.0.27  # building with conda-build version 3.2.1 leads to empty package
1353 1354 1355
      - 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
1356
      - conda
1357 1358
   after_script:
      - anaconda logout
1359
   dependencies: []
1360 1361
   when: manual
   only:
1362
      - master@walberla/walberla   
1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417
      - tags@walberla/walberla

conda-py36-win-withoutLbm:
   <<: *conda_deploy_definition
   tags:
      - win
   script:
      - conda build --python=3.6 --user=lssfau utilities\\conda\\withoutLbm
      
conda-py35-win-withoutLbm:
   <<: *conda_deploy_definition
   tags:
      - win
   script:
      - conda build --python=3.5 --user=lssfau utilities\\conda\\withoutLbm

conda-py36-linux-withoutLbm:
   <<: *conda_deploy_definition
   tags:
      - docker
   image: continuumio/miniconda3
   script:
      - apt-get update
      - apt-get install -y build-essential
      - conda build --python=3.6 --user=lssfau utilities/conda/withoutLbm
      
conda-py35-linux-withoutLbm:
   <<: *conda_deploy_definition
   tags:
      - docker
   image: continuumio/miniconda3
   script:
      - apt-get update
      - apt-get install -y build-essential
      - conda build --python=3.5 --user=lssfau utilities/conda/withoutLbm
      
conda-py36-linux-withLbm:
   <<: *conda_deploy_definition
   tags:
      - docker
   image: continuumio/miniconda3
   script:
      - apt-get update
      - apt-get install -y build-essential
      - conda build --python=3.6 --user=lssfau utilities/conda/withLbm
      
conda-py35-linux-withLbm:
   <<: *conda_deploy_definition
   tags:
      - docker
   image: continuumio/miniconda3
   script:
      - apt-get update
      - apt-get install -y build-essential
      - conda build --python=3.5 --user=lssfau utilities/conda/withLbm