diff --git a/CMakeLists.txt b/CMakeLists.txt index 2ba12779790..67d8a387b28 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -237,7 +237,6 @@ endif() set(_envrc_content "[ -d \"${PROJECT_BINARY_DIR}/.venv\" ] && source ${PROJECT_BINARY_DIR}/.venv/bin/activate" "export PATH=$PATH:${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}" - "export CTEST_OUTPUT_ON_FAILURE=1" ) if(TFEL_WITH_PYTHON) set(_envrc_content "${_envrc_content}" diff --git a/CMakePresets.json b/CMakePresets.json index 0b94463cb33..931a98bed5b 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -345,9 +345,6 @@ { "name": "release", "configurePreset": "release", - "output": { - "outputOnFailure": true - }, "filter": { "include": { "label": "default" diff --git a/scripts/ci/extends/template-build-linux.yml b/scripts/ci/extends/template-build-linux.yml index b6242a809a4..b1032fe2471 100644 --- a/scripts/ci/extends/template-build-linux.yml +++ b/scripts/ci/extends/template-build-linux.yml @@ -11,7 +11,7 @@ - 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} + - ln -s `$readlink_cmd -f $build_dir_full` build/${CMAKE_PRESET}-${CI_JOB_NAME_SLUG}-${CI_JOB_ID} - ([[ $BUILD_CTEST_LARGE_ON_MASTER && "${CI_COMMIT_BRANCH}" == "master" ]]) && export BUILD_CTEST_LARGE=true - cmake --preset=$CMAKE_PRESET --log-level=VERBOSE -Wno-dev $CMAKE_ARGS # Activate .venv via .envrc diff --git a/scripts/ci/extends/template-build-win.yml b/scripts/ci/extends/template-build-win.yml index aca415906b3..e9d1fe363f8 100644 --- a/scripts/ci/extends/template-build-win.yml +++ b/scripts/ci/extends/template-build-win.yml @@ -8,12 +8,13 @@ variables: script: - $build_directory_full = "..\build\" + $env:CMAKE_PRESET + - $artifacts_dir = "build\" + $env:CMAKE_PRESET + "-" + $env:CI_JOB_NAME_SLUG + "-" + $env:CI_JOB_ID - $log_file = $build_directory_full + "\make.txt" - (rm -r -fo $build_directory_full) - cmd /c if not exist $build_directory_full mkdir $build_directory_full - - mkdir build + - mkdir build # We are inside the OGS source directory, now. This "build" dir will be, too. # Create symlink https://stackoverflow.com/a/34905638/80480 - - cmd /c mklink /D build\$env:CMAKE_PRESET $env:CI_PROJECT_DIR\$build_directory_full + - cmd /c mklink /D $artifacts_dir $env:CI_PROJECT_DIR\$build_directory_full - $cmake_cmd = "cmake --preset=$env:CMAKE_PRESET --log-level=VERBOSE -Wno-dev $env:CMAKE_ARGS" - $cmake_cmd - Invoke-Expression $cmake_cmd diff --git a/scripts/ci/jobs/package.yml b/scripts/ci/jobs/package.yml index 893354969c1..0dd3a7e2f43 100644 --- a/scripts/ci/jobs/package.yml +++ b/scripts/ci/jobs/package.yml @@ -64,6 +64,28 @@ create cpm cache: curl --header "JOB-TOKEN: $CI_JOB_TOKEN" --upload-file ext.tar.gz \ ${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/external-dependencies/${EXT_VERSION}/ext.tar.gz + +aggregate ctest logs: + stage: package + tags: [envinf, shell] + script: + - | + python -m venv .venv_custom_job + . .venv_custom_job/bin/activate + pip install pandas + mkdir -p build/log_summary + set -x + Applications/Python/ogs/dev/ogs_log_summary.py --snippet-out build/log_summary/ -v build/*/logs &>build/log_summary/ogs_log_summary.txt + rules: + - when: always + artifacts: + name: all-artifacts + paths: + - "build/**/*.txt" + - "build/log_summary/**" + expire_in: 12 hrs + + offline configure: stage: package tags: [envinf, shell] diff --git a/scripts/cmake/test/Test.cmake b/scripts/cmake/test/Test.cmake index 6d0b42d44e6..ef7d99790e6 100644 --- a/scripts/cmake/test/Test.cmake +++ b/scripts/cmake/test/Test.cmake @@ -48,10 +48,7 @@ NotebookTest( TRUE ) -# output 25 kb of tailed logs on failure -set(_ctest_parameter -T Test --force-new-ctest-process --output-on-failure - --test-output-size-failed 25 -) +set(_ctest_parameter -T Test --force-new-ctest-process) if(CMAKE_CONFIGURATION_TYPES) list(APPEND _ctest_parameter --build-config "$") endif()