############################################################################### ## ## ## General settings ## ## ## ############################################################################### stages: - test - deploy ############################################################################### ## ## ## 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 - 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 .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" .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" .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" .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" .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" .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" .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" ############################################################################### ## ## ## Linux builds ## ## ## ############################################################################### intel_16_serial: <<: *build_serial_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16 only: - triggers tags: - cuda - docker - intel intel_16_mpionly: <<: *build_mpionly_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16 only: - triggers tags: - cuda - docker - intel intel_16_hybrid: <<: *build_hybrid_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16 only: - triggers tags: - cuda - docker - intel intel_16_serial_dbg: <<: *build_serial_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16 only: - triggers tags: - cuda - docker - intel intel_16_mpionly_dbg: <<: *build_mpionly_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16 only: - triggers tags: - cuda - docker - intel intel_16_hybrid_dbg: <<: *build_hybrid_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16 tags: - cuda - docker - intel intel_16_hybrid_dbg_sp: <<: *build_hybrid_dbg_sp_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:16 only: - triggers tags: - cuda - docker - intel intel_17_serial: <<: *build_serial_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17 only: - triggers tags: - docker - intel intel_17_mpionly: <<: *build_mpionly_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17 only: - triggers tags: - docker - intel intel_17_hybrid: <<: *build_hybrid_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17 tags: - docker - intel intel_17_serial_dbg: <<: *build_serial_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17 tags: - docker - intel intel_17_mpionly_dbg: <<: *build_mpionly_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17 tags: - docker - intel intel_17_hybrid_dbg: <<: *build_hybrid_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17 tags: - docker - intel intel_17_hybrid_dbg_sp: <<: *build_hybrid_dbg_sp_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/intel:17 tags: - docker - intel gcc_5_serial: <<: *build_serial_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5 only: - triggers tags: - cuda - docker gcc_5_mpionly: <<: *build_mpionly_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5 only: - triggers tags: - cuda - docker gcc_5_hybrid: <<: *build_hybrid_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5 tags: - cuda - docker gcc_5_serial_dbg: <<: *build_serial_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5 tags: - cuda - docker gcc_5_mpionly_dbg: <<: *build_mpionly_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5 only: - triggers tags: - cuda - docker gcc_5_hybrid_dbg: <<: *build_hybrid_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5 tags: - cuda - docker gcc_5_hybrid_dbg_sp: <<: *build_hybrid_dbg_sp_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:5 only: - triggers tags: - cuda - docker gcc_6_serial: <<: *build_serial_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6 only: - triggers tags: - docker gcc_6_mpionly: <<: *build_mpionly_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6 only: - triggers tags: - docker gcc_6_hybrid: <<: *build_hybrid_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6 only: - triggers tags: - docker gcc_6_serial_dbg: <<: *build_serial_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6 only: - triggers tags: - docker gcc_6_mpionly_dbg: <<: *build_mpionly_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6 only: - triggers tags: - docker gcc_6_hybrid_dbg: <<: *build_hybrid_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6 only: - triggers tags: - docker gcc_6_hybrid_dbg_sp: <<: *build_hybrid_dbg_sp_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/gcc:6 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 tags: - docker clang_3.6_serial: <<: *build_serial_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.6 only: - triggers tags: - cuda - docker clang_3.6_mpionly: <<: *build_mpionly_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.6 only: - triggers tags: - cuda - docker clang_3.6_serial_dbg: <<: *build_serial_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.6 only: - triggers tags: - cuda - docker clang_3.6_mpionly_dbg: <<: *build_mpionly_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.6 tags: - cuda - docker clang_3.7_serial: <<: *build_serial_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.7 only: - triggers tags: - cuda - docker clang_3.7_mpionly: <<: *build_mpionly_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.7 only: - triggers tags: - cuda - docker clang_3.7_serial_dbg: <<: *build_serial_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.7 only: - triggers tags: - cuda - docker clang_3.7_mpionly_dbg: <<: *build_mpionly_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.7 only: - triggers tags: - cuda - docker clang_3.8_serial: <<: *build_serial_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8 only: - triggers tags: - cuda - docker clang_3.8_mpionly: <<: *build_mpionly_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8 only: - triggers tags: - cuda - docker clang_3.8_hybrid: <<: *build_hybrid_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8 only: - triggers tags: - cuda - docker clang_3.8_serial_dbg: <<: *build_serial_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8 only: - triggers tags: - cuda - docker clang_3.8_mpionly_dbg: <<: *build_mpionly_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8 only: - triggers tags: - cuda - docker clang_3.8_hybrid_dbg: <<: *build_hybrid_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8 only: - triggers tags: - cuda - docker clang_3.8_hybrid_dbg_sp: <<: *build_hybrid_dbg_sp_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.8 only: - triggers tags: - cuda - docker clang_3.9_serial: <<: *build_serial_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9 only: - triggers tags: - docker clang_3.9_mpionly: <<: *build_mpionly_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9 only: - triggers tags: - docker clang_3.9_hybrid: <<: *build_hybrid_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9 only: - triggers tags: - docker clang_3.9_serial_dbg: <<: *build_serial_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9 only: - triggers tags: - docker clang_3.9_mpionly_dbg: <<: *build_mpionly_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9 only: - triggers tags: - docker clang_3.9_hybrid_dbg: <<: *build_hybrid_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9 only: - triggers tags: - docker clang_3.9_hybrid_dbg_sp: <<: *build_hybrid_dbg_sp_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:3.9 only: - triggers tags: - docker clang_4.0_serial: <<: *build_serial_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0 only: - triggers tags: - docker clang_4.0_mpionly: <<: *build_mpionly_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0 only: - triggers tags: - docker clang_4.0_hybrid: <<: *build_hybrid_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0 only: - triggers tags: - docker clang_4.0_serial_dbg: <<: *build_serial_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0 only: - triggers tags: - docker clang_4.0_mpionly_dbg: <<: *build_mpionly_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0 only: - triggers tags: - docker clang_4.0_hybrid_dbg: <<: *build_hybrid_dbg_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0 only: - triggers tags: - docker clang_4.0_hybrid_dbg_sp: <<: *build_hybrid_dbg_sp_definition image: i10git.cs.fau.de:5005/walberla/buildenvs/clang:4.0 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 tags: - docker ############################################################################### ## ## ## 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 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" ############################################################################### ## ## ## Windows Builds ## ## ## ############################################################################### .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 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" 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" only: - triggers 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" only: - triggers 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" only: - triggers 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 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" only: - triggers 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" 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" only: - triggers ############################################################################### ## ## ## macOS Builds ## ## ## ############################################################################### .mac_build_template: &mac_build_definition script: - export NUM_CORES=$(system_profiler SPHardwareDataType | grep 'Total Number of Cores' | awk '{print $5}') - export MAX_BUILD_CORES=$(( $(system_profiler SPHardwareDataType | grep 'Memory' | awk '{print $2}') / 4 )) - "[[ $MAX_BUILD_CORES -lt $NUM_CORES ]] && export NUM_BUILD_CORES=$MAX_BUILD_CORES || export NUM_BUILD_CORES=$NUM_CORES" - c++ --version - cmake --version - mpirun --version - mkdir build - cd build - cmake .. -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_PYTHON=$WALBERLA_BUILD_WITH_PYTHON -DWALBERLA_BUILD_WITH_OPENMP=$WALBERLA_BUILD_WITH_OPENMP -DWALBERLA_BUILD_WITH_CUDA=$WALBERLA_BUILD_WITH_CUDA -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DWARNING_ERROR=ON - cmake . -LAH - make -j $NUM_BUILD_CORES -l $NUM_CORES - ctest -LE "$CTEST_EXCLUDE_LABELS|cuda" -C $CMAKE_BUILD_TYPE --output-on-failure -j $NUM_CORES tags: - mac mac_Serial_Dbg: <<: *mac_build_definition variables: CMAKE_BUILD_TYPE: "DebugOptimized" CTEST_EXCLUDE_LABELS: "longrun" WALBERLA_BUILD_WITH_MPI: "OFF" WALBERLA_BUILD_WITH_OPENMP: "OFF" WALBERLA_BUILD_WITH_PYTHON: "ON" WALBERLA_BUILD_WITH_CUDA: "ON" mac_Serial: <<: *mac_build_definition variables: CMAKE_BUILD_TYPE: "Release" CTEST_EXCLUDE_LABELS: "longrun" WALBERLA_BUILD_WITH_MPI: "OFF" WALBERLA_BUILD_WITH_OPENMP: "OFF" WALBERLA_BUILD_WITH_PYTHON: "ON" WALBERLA_BUILD_WITH_CUDA: "ON" mac_MpiOnly_Dbg: <<: *mac_build_definition variables: CMAKE_BUILD_TYPE: "DebugOptimized" CTEST_EXCLUDE_LABELS: "longrun" WALBERLA_BUILD_WITH_MPI: "ON" WALBERLA_BUILD_WITH_OPENMP: "OFF" WALBERLA_BUILD_WITH_PYTHON: "ON" WALBERLA_BUILD_WITH_CUDA: "ON" mac_MpiOnly: <<: *mac_build_definition variables: CMAKE_BUILD_TYPE: "Release" CTEST_EXCLUDE_LABELS: "longrun" WALBERLA_BUILD_WITH_MPI: "ON" WALBERLA_BUILD_WITH_OPENMP: "OFF" WALBERLA_BUILD_WITH_PYTHON: "ON" WALBERLA_BUILD_WITH_CUDA: "ON" ############################################################################### ## ## ## 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 dependencies: [] when: manual only: - master@walberla/walberla - tags@walberla/walberla conda-py36-win: <<: *conda_deploy_definition tags: - win script: - conda build --python=3.6 --user=lssfau utilities\\conda\\walberla conda-py35-win: <<: *conda_deploy_definition tags: - win script: - conda build --python=3.5 --user=lssfau utilities\\conda\\walberla conda-py36-linux: <<: *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/walberla conda-py35-linux: <<: *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/walberla