diff --git a/scripts/ci/extends/template-build-linux.yml b/scripts/ci/extends/template-build-linux.yml index 55ae76ad010d8a5d0e3aa9e3652bb056a1313852..3c97410f1e3d70094990b8c86847e196eeae2757 100644 --- a/scripts/ci/extends/template-build-linux.yml +++ b/scripts/ci/extends/template-build-linux.yml @@ -5,7 +5,7 @@ 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\"" + - 'echo "For debugging run: docker run --rm -it -v $CI_BUILDS_DIR:/builds -w=$CI_PROJECT_DIR $CI_JOB_IMAGE"' - build_dir=${BUILD_DIR:-$CMAKE_PRESET} - build_dir_full=../build/${build_dir} - rm -rf $build_dir_full @@ -20,17 +20,30 @@ - cd $build_dir_full - | if [[ -z "$TARGETS" ]]; then - $BUILD_CMD_PREFIX cmake --build . --target package > >(tee make.output) - if [ "$BUILD_TESTS" = true ]; then $BUILD_CMD_PREFIX cmake --build . --target tests ; fi - if [ "$BUILD_CTEST" = true ] ; then $BUILD_CMD_PREFIX cmake --build . --target ctest ; fi - if [[ "$OSTYPE" == "darwin"* ]]; then alias date=gdate ; fi - ctest -T Test --no-compress-output -L "$ctest_labels" --repeat until-pass:2 --stop-time `date -d "today + ${ctest_timeout} minutes" +'%H:%M:%S'` || ctest_exit=$? - if [ "$BUILD_CTEST" = true ] ; then cp Testing/**/Test.xml Tests/ctest.xml ; fi - cp Testing/**/Test.xml Tests/ctest.xml + + $BUILD_CMD_PREFIX cmake --build . --target package > >(tee make.output) + + if [ "$BUILD_TESTS" = true ]; then $BUILD_CMD_PREFIX cmake --build . --target tests ; fi + + if [ "$BUILD_CTEST" = true ]; then + + ctest_labels="default" + ctest_timeout=15 + if [ "$BUILD_CTEST_LARGE" = true ]; then + ctest_labels="large|$ctest_labels" + ctest_timeout=90 + fi + + if [[ "$OSTYPE" == "darwin"* ]]; then alias date=gdate ; fi + + ctest -T Test --no-compress-output -L "$ctest_labels" --repeat until-pass:2 --stop-time `date -d "today + ${ctest_timeout} minutes" +'%H:%M:%S'` + cp Testing/**/Test.xml Tests/ctest.xml + + fi else - $BUILD_CMD_PREFIX cmake --build . --target ${TARGETS} > >(tee make.output) + $BUILD_CMD_PREFIX cmake --build . --target ${TARGETS} > >(tee make.output) fi - | if [[ "$CHECK_WARNINGS" = true ]] ; then - if [[ $(cat make.output | grep warning -i | grep -v 'WARNING: no license files found') ]]; then printf 'There were compiler warnings:\n\n'; cat make.output | grep warning -i | grep -v 'WARNING: no license files found'; exit 1; fi + if [[ $(cat make.output | grep warning -i | grep -v 'WARNING: no license files found') ]]; then printf 'There were compiler warnings:\n\n'; cat make.output | grep warning -i | grep -v 'WARNING: no license files found'; exit 1; fi fi