Browse Source

ci: Add job for instrumentation on Linux

Martin Duffy 2 months ago
parent
commit
5ede033f57

+ 11 - 0
.gitlab-ci.yml

@@ -415,6 +415,17 @@ t:fedora43-fastbuild:
     variables:
         CMAKE_CI_JOB_NIGHTLY: "true"
 
+t:fedora43-instrumentation:
+    extends:
+        - .fedora43_ninja_instrumentation
+        - .cmake_test_linux_release
+        - .linux_x86_64_tags
+        - .run_dependent
+        - .needs_centos7_x86_64
+        - .cmake_junit_artifacts
+    variables:
+        CMAKE_CI_JOB_NIGHTLY: "true"
+
 t:nvhpc24.9-ninja:
     extends:
         - .nvhpc_ninja

+ 4 - 0
.gitlab/ci/configure_fedora43_ninja_instrumentation.cmake

@@ -0,0 +1,4 @@
+set(CMake_ENABLE_INSTRUMENTATION "ON" CACHE BOOL "")
+set(CMake_TEST_GUI "OFF" CACHE BOOL "")
+set(CMAKE_EXPERIMENTAL_INSTRUMENTATION "ec7aa2dc-b87f-45a3-8022-fe01c5f59984" CACHE STRING "")
+include("${CMAKE_CURRENT_LIST_DIR}/configure_fedora43_ninja.cmake")

+ 1 - 0
.gitlab/ci/env_fedora43_ninja_instrumentation.sh

@@ -0,0 +1 @@
+source .gitlab/ci/env_fedora43_ninja.sh

+ 8 - 0
.gitlab/os-linux.yml

@@ -269,6 +269,14 @@
         CTEST_NO_WARNINGS_ALLOWED: 1
         CMAKE_GENERATOR: "FASTBuild"
 
+.fedora43_ninja_instrumentation:
+    extends: .fedora43
+
+    variables:
+        CMAKE_CONFIGURATION: fedora43_ninja_instrumentation
+        CTEST_NO_WARNINGS_ALLOWED: 1
+        CMAKE_GENERATOR: "Ninja"
+
 ### Clang Compiler
 
 .debian13_makefiles_clang:

+ 8 - 0
CMakeLists.txt

@@ -180,6 +180,14 @@ if(NOT CMake_TEST_EXTERNAL_CMAKE)
   if(NOT CMake_HAVE_CXX_UNIQUE_PTR)
     message(FATAL_ERROR "The C++ compiler does not support C++11 (e.g. std::unique_ptr).")
   endif()
+
+  if(CMake_ENABLE_INSTRUMENTATION)
+    cmake_instrumentation(
+        API_VERSION 1
+        DATA_VERSION 1
+        OPTIONS cdashSubmit cdashVerbose trace
+    )
+  endif()
 endif()
 
 # Inform STL library header wrappers whether to use system versions.