.template-build-linux: stage: build retry: max: 2 when: runner_system_failure before_script: - 'echo "For debugging run: docker run --rm -it -v $CI_BUILDS_DIR:/builds -w=$CI_PROJECT_DIR $CI_JOB_IMAGE"' - build_dir_full=../build/${CMAKE_PRESET} - log_file=$build_dir_full/make.output - rm -rf $build_dir_full - mkdir -p $build_dir_full build - if [[ "$OSTYPE" == "darwin"* ]] ; then readlink_cmd=greadlink; else readlink_cmd=readlink; fi - ln -s `$readlink_cmd -f $build_dir_full` build/${CMAKE_PRESET} - ([ "${CONAN_USER_HOME}" == "${CI_PROJECT_DIR}/.conan" ]) && conan remove --system-reqs '*' - ([[ $BUILD_CTEST_LARGE_ON_MASTER && "${CI_COMMIT_BRANCH}" == "master" && "${CMAKE_ARGS}" == *"USE_PYTHON=ON"* ]]) && export BUILD_CTEST_LARGE=true script: - cmake -S . --preset=$CMAKE_PRESET -Wno-dev $CMAKE_ARGS -DOGS_BUILD_PROCESSES=$BUILD_PROCESSES - | if [[ -z "$TARGETS" ]]; then $BUILD_CMD_PREFIX cmake --build --preset=$CMAKE_PRESET --target package > >(tee $log_file) if [ "$BUILD_TESTS" = true ]; then $BUILD_CMD_PREFIX cmake --build --preset=$CMAKE_PRESET --target tests ; fi if [ "$BUILD_CTEST" = true ]; then ctest_timeout=15 preset_postfix="" if [ "$BUILD_CTEST_LARGE" = true ]; then ctest_timeout=90 preset_postfix="-large" fi if [[ "$OSTYPE" == "darwin"* ]]; then alias date=gdate ; fi ctest --preset=${CMAKE_PRESET}${preset_postfix} --output-junit Tests/ctest.xml --no-compress-output --stop-time `date -d "today + ${ctest_timeout} minutes" +'%H:%M:%S'` fi else $BUILD_CMD_PREFIX cmake --build --preset=$CMAKE_PRESET --target ${TARGETS} > >(tee $log_file) fi - | if [[ "$CHECK_WARNINGS" = true ]] ; then if [[ $(cat $log_file | grep warning -i | grep -v 'WARNING: no license files found') ]]; then printf 'There were compiler warnings:\n\n'; cat $log_file | grep warning -i | grep -v 'WARNING: no license files found'; exit 1; fi fi