Newer
Older
###############################################################################
## ##
## ##
###############################################################################
stages:
- test
- deploy

Christian Godenschwager
committed
###############################################################################
## ##
## 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
- 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

Christian Godenschwager
committed
- 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

Christian Godenschwager
committed
.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"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"

Christian Godenschwager
committed
.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"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"

Christian Godenschwager
committed
.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"
WALBERLA_BUILD_WITH_METIS: "ON"
WALBERLA_BUILD_WITH_PARMETIS: "ON"

Christian Godenschwager
committed
.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"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"

Christian Godenschwager
committed
.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"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"

Christian Godenschwager
committed
.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"
WALBERLA_BUILD_WITH_METIS: "ON"
WALBERLA_BUILD_WITH_PARMETIS: "ON"

Christian Godenschwager
committed
.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"
WALBERLA_BUILD_WITH_METIS: "OFF"
WALBERLA_BUILD_WITH_PARMETIS: "OFF"

Christian Godenschwager
committed
###############################################################################
## ##

Christian Godenschwager
committed
## ##
###############################################################################
intel_16_serial:
<<: *build_serial_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
only:
- triggers

Christian Godenschwager
committed
tags:
intel_16_mpionly:
<<: *build_mpionly_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
only:
- triggers

Christian Godenschwager
committed
tags:
intel_16_hybrid:
<<: *build_hybrid_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
only:
- triggers

Christian Godenschwager
committed
tags:
intel_16_serial_dbg:
<<: *build_serial_dbg_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
only:
- triggers

Christian Godenschwager
committed
tags:
intel_16_mpionly_dbg:
<<: *build_mpionly_dbg_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16
only:
- triggers

Christian Godenschwager
committed
tags:

Christian Godenschwager
committed
<<: *build_hybrid_dbg_definition
image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16

Christian Godenschwager
committed
tags:
Loading full blame...