From 89f226aaceb999f341d4fe8bc6ab6a0bde8b6803 Mon Sep 17 00:00:00 2001 From: Vidyasagar Ananthan Date: Tue, 8 Jul 2025 10:52:00 -0700 Subject: [PATCH] Separating ninja build tracing and setting flag to false (#2470) * Separating ninja build tracing and setting flag to false * Add ftime-tracing flag * Fix conditional issue * Try adding a script block * Embed Clang analysis in ftime trace block [ROCm/composable_kernel commit: 33d704a6f907ce887f4286ee89efd20a62c882f2] --- Jenkinsfile | 37 ++++++++++++++++++++++++++----------- 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 2b3dd559e6..395e9bd836 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -345,7 +345,7 @@ def cmake_build(Map conf=[:]){ def build_cmd def execute_cmd = conf.get("execute_cmd", "") if(!setup_args.contains("NO_CK_BUILD")){ - def cmake_flags = params.NINJA_BUILD_TRACE ? "-O3 -ftime-trace" : "-O3" + def cmake_flags = params.NINJA_FTIME_TRACE ? "-O3 -ftime-trace" : "-O3" if (params.NINJA_BUILD_TRACE) { echo "running ninja build trace" } @@ -378,11 +378,16 @@ def cmake_build(Map conf=[:]){ //run tests except when NO_CK_BUILD or BUILD_LEGACY_OS are set if(!setup_args.contains("NO_CK_BUILD") && !params.BUILD_LEGACY_OS){ if ((setup_args.contains("gfx9") && params.NINJA_BUILD_TRACE) || params.BUILD_INSTANCES_ONLY){ + if (params.NINJA_FTIME_TRACE) { + echo "running ninja ftime trace" + sh "/ClangBuildAnalyzer/build/ClangBuildAnalyzer --all . clang_build.log" + sh "/ClangBuildAnalyzer/build/ClangBuildAnalyzer --analyze clang_build.log > clang_build_analysis.log" + archiveArtifacts "clang_build_analysis.log" + } + sh "/ninjatracing/ninjatracing .ninja_log > ck_build_trace.json" - sh "/ClangBuildAnalyzer/build/ClangBuildAnalyzer --all . clang_build.log" - sh "/ClangBuildAnalyzer/build/ClangBuildAnalyzer --analyze clang_build.log > clang_build_analysis.log" archiveArtifacts "ck_build_trace.json" - archiveArtifacts "clang_build_analysis.log" + // do not run unit tests when building instances only if(!params.BUILD_INSTANCES_ONLY){ if (!runAllUnitTests){ @@ -937,6 +942,10 @@ pipeline { name: "NINJA_BUILD_TRACE", defaultValue: false, description: "Generate a ninja build trace (default: OFF)") + booleanParam( + name: "NINJA_FTIME_TRACE", + defaultValue: false, + description: "Generate a detailed time trace (default: OFF)") booleanParam( name: "BUILD_LEGACY_OS", defaultValue: false, @@ -1402,14 +1411,20 @@ pipeline { expression { params.BUILD_INSTANCES_ONLY.toBoolean() && !params.RUN_FULL_QA.toBoolean() && !params.BUILD_LEGACY_OS.toBoolean() } } agent{ label rocmnode("gfx942") } - environment{ - execute_args = """ cmake -G Ninja -D CMAKE_PREFIX_PATH=/opt/rocm \ - -D CMAKE_CXX_COMPILER="${build_compiler()}" \ - -D CMAKE_BUILD_TYPE=Release \ - -D CMAKE_CXX_FLAGS=" -O3 -ftime-trace" .. && ninja -j64 """ - } steps{ - buildHipClangJobAndReboot(setup_cmd: "", build_cmd: "", no_reboot:true, build_type: 'Release', execute_cmd: execute_args) + script { + def execute_args = params.NINJA_FTIME_TRACE ? + """ cmake -G Ninja -D CMAKE_PREFIX_PATH=/opt/rocm \ + -D CMAKE_CXX_COMPILER="${build_compiler()}" \ + -D CMAKE_BUILD_TYPE=Release \ + -D CMAKE_CXX_FLAGS=" -O3 -ftime-trace" .. && ninja -j64 """ : + """ cmake -G Ninja -D CMAKE_PREFIX_PATH=/opt/rocm \ + -D CMAKE_CXX_COMPILER="${build_compiler()}" \ + -D CMAKE_BUILD_TYPE=Release \ + -D CMAKE_CXX_FLAGS=" -O3 " .. && ninja -j64 """ + + buildHipClangJobAndReboot(setup_cmd: "", build_cmd: "", no_reboot:true, build_type: 'Release', execute_cmd: execute_args) + } cleanWs() } }