Skip to content
Snippets Groups Projects
Commit 4b709a00 authored by Ben Boeckel's avatar Ben Boeckel Committed by Kitware Robot
Browse files

Merge topic 'gitlab-ci-cdash-links'


1305711d gitlab-ci: limit test job artifacts
3def1fc7 gitlab-ci: provide limited artifacts for Windows builds
e9611578 gitlab-ci: add links to CDash as annotations
d882c2cc gitlab-ci: always provide artifacts

Acked-by: default avatarKitware Robot <kwrobot@kitware.com>
Merge-request: !92
parents 4b4a6d64 1305711d
No related branches found
No related tags found
1 merge request!92gitlab-ci: provide CDash links in job pages
Pipeline #435375 passed
......@@ -81,6 +81,7 @@ test:fedora36-mpich:
- .fedora36_mpich
- .cmake_test_linux
- .linux_builder_tags
- .cmake_annotation_artifacts
- .run_automatically
needs:
- build:fedora36-mpich
......@@ -98,6 +99,7 @@ test:fedora36-mpich-nothreads:
- .fedora36_mpich_nothreads
- .cmake_test_linux
- .linux_builder_tags
- .cmake_annotation_artifacts
- .run_automatically
needs:
- build:fedora36-mpich-nothreads
......@@ -115,7 +117,7 @@ test:fedora36-openmpi:
- .fedora36_openmpi
- .cmake_test_linux
- .linux_builder_tags
- .cmake_build_artifacts
- .cmake_annotation_artifacts
- .run_automatically
needs:
- build:fedora36-openmpi
......@@ -133,7 +135,7 @@ test:fedora36-asan:
- .fedora36_asan
- .cmake_memcheck_linux
- .linux_tester_priv_tags
- .cmake_build_artifacts
- .cmake_annotation_artifacts
- .run_automatically
needs:
- build:fedora36-asan
......@@ -151,7 +153,7 @@ test:fedora36-ubsan:
- .fedora36_ubsan
- .cmake_memcheck_linux
- .linux_tester_priv_tags
- .cmake_build_artifacts
- .cmake_annotation_artifacts
- .run_automatically
needs:
- build:fedora36-ubsan
......@@ -161,6 +163,7 @@ build:windows_vs2022_debug:
- .windows_debug
- .windows_tags
- .cmake_build_windows
- .cmake_build_artifacts
- .run_automatically
test:windows_vs2022_debug:
......@@ -168,6 +171,7 @@ test:windows_vs2022_debug:
- .windows_debug
- .windows_tags
- .cmake_test_windows
- .cmake_annotation_artifacts
- .run_automatically
needs:
- build:windows_vs2022_debug
......@@ -177,6 +181,7 @@ build:windows_vs2022_release:
- .windows_release
- .windows_tags
- .cmake_build_windows
- .cmake_build_artifacts
- .run_automatically
test:windows_vs2022_release:
......@@ -184,6 +189,7 @@ test:windows_vs2022_release:
- .windows_release
- .windows_tags
- .cmake_test_windows
- .cmake_annotation_artifacts
- .run_automatically
needs:
- build:windows_vs2022_release
---
# Lists of paths for artifacts of various stages.
.cmake_annotation_artifacts:
artifacts:
expire_in: 1d
when: always
reports:
annotations:
- build/annotations.json
.cmake_build_artifacts:
artifacts:
expire_in: 1d
when: always
reports:
annotations:
- build/annotations.json
paths:
# The artifacts of the build.
# Generated headers.
......@@ -16,3 +28,4 @@
- build/Testing/
# CDash files.
- build/DartConfiguration.tcl
- build/cdash-build-id
function (ctest_annotation_report file)
set(label "")
if (EXISTS "${file}")
file(READ "${file}" json)
else ()
set(json "{\"CDash\": []}")
endif ()
foreach (arg IN LISTS ARGN)
if (NOT label)
set(label "${arg}")
continue ()
endif ()
set(item "{\"external_link\":{\"label\":\"${label}\",\"url\":\"${arg}\"}}")
set(label "")
string(JSON length LENGTH "${json}" "CDash")
string(JSON json SET "${json}" "CDash" "${length}" "${item}")
endforeach ()
file(WRITE "${file}" "${json}")
endfunction ()
if (NOT DEFINED build_id)
include("${CTEST_BINARY_DIRECTORY}/cdash-build-id" OPTIONAL)
endif ()
function (store_build_id build_id)
file(WRITE "${CTEST_BINARY_DIRECTORY}/cdash-build-id"
"set(build_id \"${build_id}\")\n")
endfunction ()
......@@ -27,6 +27,14 @@ ctest_build(
RETURN_VALUE build_result)
ctest_submit(PARTS Build)
include("${CMAKE_CURRENT_LIST_DIR}/ctest_annotation.cmake")
if (DEFINED build_id)
ctest_annotation_report("${CTEST_BINARY_DIRECTORY}/annotations.json"
"Build Errors (${num_errors})" "https://open.cdash.org/viewBuildError.php?buildid=${build_id}"
"Build Warnings (${num_warnings})" "https://open.cdash.org/viewBuildError.php?type=1&buildid=${build_id}"
)
endif ()
if (build_result)
message(FATAL_ERROR
"Failed to build")
......
......@@ -24,7 +24,19 @@ ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
# We can now submit because we've configured. This is a cmb-superbuild-ism.
ctest_submit(PARTS Update)
ctest_submit(PARTS Configure)
ctest_submit(
PARTS Configure
BUILD_ID build_id)
include("${CMAKE_CURRENT_LIST_DIR}/ctest_annotation.cmake")
if (DEFINED build_id)
ctest_annotation_report("${CTEST_BINARY_DIRECTORY}/annotations.json"
"Build Summary" "https://open.cdash.org/build/${build_id}"
"Update" "https://open.cdash.org/build/${build_id}/update"
"Configure" "https://open.cdash.org/build/${build_id}/configure"
)
store_build_id("${build_id}")
endif ()
if (configure_result)
message(FATAL_ERROR
......
......@@ -28,6 +28,13 @@ ctest_memcheck(
DEFECT_COUNT defects)
ctest_submit(PARTS Memcheck)
include("${CMAKE_CURRENT_LIST_DIR}/ctest_annotation.cmake")
if (DEFINED build_id)
ctest_annotation_report("${CTEST_BINARY_DIRECTORY}/annotations.json"
"Defects (${defects})" "https://open.cdash.org/viewDynamicAnalysis.php?buildid=${build_id}"
)
endif ()
if (test_result)
message(FATAL_ERROR
"Failed to test")
......
......@@ -24,6 +24,17 @@ ctest_test(
EXCLUDE "${test_exclusions}")
ctest_submit(PARTS Test)
include("${CMAKE_CURRENT_LIST_DIR}/ctest_annotation.cmake")
if (DEFINED build_id)
ctest_annotation_report("${CTEST_BINARY_DIRECTORY}/annotations.json"
"Build Summary" "https://open.cdash.org/build/${build_id}"
"All Tests" "https://open.cdash.org/viewTest.php?buildid=${build_id}"
"Test Failures" "https://open.cdash.org/viewTest.php?onlyfailed&buildid=${build_id}"
"Tests Not Run" "https://open.cdash.org/viewTest.php?onlynotrun&buildid=${build_id}"
"Test Passes" "https://open.cdash.org/viewTest.php?onlypassed&buildid=${build_id}"
)
endif ()
if (test_result)
message(FATAL_ERROR
"Failed to test")
......
......@@ -45,11 +45,6 @@
- *before_script_windows_build
- "ctest -VV -S .gitlab/ci/ctest_configure.cmake"
- "ctest -VV -S .gitlab/ci/ctest_build.cmake"
artifacts:
expire_in: 24 hours
when: always
paths:
- build
.cmake_test_windows: &cmake_test_windows
extends:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment