From 5704cf51b283537525aaba42f2159a727a65a8e1 Mon Sep 17 00:00:00 2001 From: Lukas Werner <lks.werner@fau.de> Date: Mon, 31 May 2021 14:49:39 +0200 Subject: [PATCH] Added example gitlab-ci.yml for waLBerla --- example.gitlab-ci.yml | 99 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 example.gitlab-ci.yml diff --git a/example.gitlab-ci.yml b/example.gitlab-ci.yml new file mode 100644 index 0000000..2492e23 --- /dev/null +++ b/example.gitlab-ci.yml @@ -0,0 +1,99 @@ +############################################################################### +## ## +## General settings ## +## ## +############################################################################### +variables: + AUTH_USER: yw25ynew + +stages: + - build + - test + +############################################################################### +## ## +## Build templates ## +## ## +############################################################################### + +.build_template: + 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 + - python3 --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_SHOWCASES=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 + -DWALBERLA_ENABLE_GUI=$WALBERLA_ENABLE_GUI + -DWALBERLA_BUILD_WITH_CODEGEN=$WALBERLA_BUILD_WITH_CODEGEN + -DWALBERLA_STL_BOUNDS_CHECKS=$WALBERLA_STL_BOUNDS_CHECKS + - cmake . -LA + - cd src/core + - make -j $NUM_BUILD_CORES -l $NUM_CORES + 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" + WALBERLA_ENABLE_GUI: "OFF" + tags: + - i10staff22 + + +############################################################################### +## ## +## Linux builds ## +## ## +############################################################################### + +gcc_9_mpionly: + extends: .build_template + stage: build + variables: + CTEST_EXCLUDE_LABELS: "longrun" + WALBERLA_BUILD_WITH_MPI: "ON" + WALBERLA_BUILD_WITH_OPENMP: "OFF" + WALBERLA_BUILD_WITH_METIS: "OFF" + WALBERLA_BUILD_WITH_PARMETIS: "OFF" + tags: + - i10staff22 + +test: + stage: test + script: + - export NUM_CORES=$(nproc --all) + - cd $CI_PROJECT_DIR/build/tests/core + - ctest -LE $CTEST_EXCLUDE_LABELS -C $CMAKE_BUILD_TYPE --output-on-failure -j $NUM_CORES -T Test + variables: + CTEST_EXCLUDE_LABELS: "longrun" + CMAKE_BUILD_TYPE: "Release" + tags: + - i10staff22 -- GitLab