Browse Source

package/ci: limit jobs on GCC.

Well, no wonder it OOMs with 38 parallel jobs on ~10-20 GB RAM depending
on how the VMs are loaded, heh. Will revisit when I get rid of more STL,
this has to suffice for now.
pull/491/head
Vladimír Vondruš 5 years ago
parent
commit
acb1859979
  1. 36
      package/ci/circleci.yml
  2. 2
      package/ci/unix-desktop-gles.sh
  3. 2
      package/ci/unix-desktop.sh

36
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

2
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

2
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

Loading…
Cancel
Save