diff --git a/package/ci/circleci.yml b/package/ci/circleci.yml index 68df40178..86faeb51d 100644 --- a/package/ci/circleci.yml +++ b/package/ci/circleci.yml @@ -47,6 +47,22 @@ commands: if [[ "$CMAKE_CXX_FLAGS" == *"--coverage"* ]]; then export LCOV_PACKAGES="lcov curl"; fi apt install -y git ninja-build $LCOV_PACKAGES << parameters.extra >> + cap-ninja-jobs: + parameters: + count: + type: integer + # It reports 36 cores and ninja goes with 38 currently, still randomly + # dies with 32. RAM fluctuates from 10 to 20 GB. + default: 24 + steps: + - run: + name: Query CPU cores, default Ninja parallelism and available RAM, cap jobs + command: | + nproc + ninja --help 2>&1 | grep "N jobs in parallel" || true + free + echo "export NINJA_JOBS=-j<< parameters.count >>" >> $BASH_ENV + install-base-macos: parameters: extra: @@ -215,6 +231,10 @@ jobs: steps: - install-base-linux: extra: libgl1-mesa-dev libsdl2-dev libglfw3-dev libopenal-dev libvulkan-dev + # It crashes with the default setting. Only on GCC, usually when the huge + # TradeAbstractImporterTest / TradeMaterialDataTest get involved. + # TODO: revisit when we get rid of more STL + - cap-ninja-jobs - install-gcc-4_8 - install-cmake-3_4 - setup-null-openal-driver @@ -251,6 +271,10 @@ jobs: steps: - install-base-linux: extra: libsdl2-dev libglfw3-dev wget unzip + # It crashes with the default setting. Only on GCC, usually when the huge + # TradeAbstractImporterTest / TradeMaterialDataTest get involved. + # TODO: revisit when we get rid of more STL + - cap-ninja-jobs - install-gcc-4_8 - install-cmake-3_4 - install-swiftshader-gles: @@ -271,6 +295,10 @@ jobs: steps: - install-base-linux: extra: libsdl2-dev libglfw3-dev wget unzip + # It crashes with the default setting. Only on GCC, usually when the huge + # TradeAbstractImporterTest / TradeMaterialDataTest get involved. + # TODO: revisit when we get rid of more STL + - cap-ninja-jobs - install-gcc-4_8 - install-cmake-3_4 - install-swiftshader-gles: @@ -292,6 +320,10 @@ jobs: steps: - install-base-linux: extra: libgl1-mesa-dev libsdl2-dev libglfw3-dev libopenal-dev libvulkan-dev + # It crashes with the default setting. Only on GCC, usually when the huge + # TradeAbstractImporterTest / TradeMaterialDataTest get involved. + # TODO: revisit when we get rid of more STL + - cap-ninja-jobs - install-gcc-4_8 - install-cmake-3_4 - setup-null-openal-driver @@ -310,6 +342,10 @@ jobs: steps: - install-base-linux: extra: libgl1-mesa-dev libsdl2-dev libglfw3-dev libopenal-dev libvulkan-dev + # It crashes with the default setting. Only on GCC, usually when the huge + # TradeAbstractImporterTest / TradeMaterialDataTest get involved. + # TODO: revisit when we get rid of more STL + - cap-ninja-jobs - install-gcc-4_8 - install-cmake-3_4 - setup-null-openal-driver diff --git a/package/ci/unix-desktop-gles.sh b/package/ci/unix-desktop-gles.sh index 142d29875..57efd2486 100755 --- a/package/ci/unix-desktop-gles.sh +++ b/package/ci/unix-desktop-gles.sh @@ -55,7 +55,7 @@ cmake .. \ -DBUILD_TESTS=ON \ -DBUILD_GL_TESTS=ON \ -G Ninja -ninja +ninja $NINJA_JOBS CORRADE_TEST_COLOR=ON ctest -V if [ "$TARGET_GLES2" == "ON" ]; then CORRADE_TEST_COLOR=ON MAGNUM_DISABLE_EXTENSIONS="OES_vertex_array_object" ctest -V -R GLTest; fi Debug/bin/magnum-gl-info --limits > /dev/null diff --git a/package/ci/unix-desktop.sh b/package/ci/unix-desktop.sh index 5c8732a3e..b3dfb30ad 100755 --- a/package/ci/unix-desktop.sh +++ b/package/ci/unix-desktop.sh @@ -66,7 +66,7 @@ cmake .. \ -DBUILD_STATIC=$BUILD_STATIC \ -DBUILD_PLUGINS_STATIC=$BUILD_STATIC \ -G Ninja -ninja +ninja $NINJA_JOBS ASAN_OPTIONS="color=always" LSAN_OPTIONS="color=always suppressions=$(pwd)/../package/ci/leaksanitizer.conf" TSAN_OPTIONS="color=always" CORRADE_TEST_COLOR=ON ctest -V -E "(GL|Vk)Test" # Test install, after running the tests as for them it shouldn't be needed