From aaf6a0343d6273dcdd0af4744fa3ecf95d00ce37 Mon Sep 17 00:00:00 2001 From: Illia Silin <98187287+illsilin@users.noreply.github.com> Date: Tue, 25 Mar 2025 12:27:04 -0700 Subject: [PATCH] Enable ClangBuildAnalizer when doing ninja build traces. (#2009) * enable ClangBuildAnalizer when doing ninja traces * add branch and date to clang build log name * fix jenkins syntax * fix jenkins syntax once more * fix jenkins syntax once more * simplify the clang_build log name * simplify the clang_build log name further [ROCm/composable_kernel commit: 44c093ba0c4f2ecdfcc0456e9361b82a55a6e77d] --- Dockerfile | 5 +++++ Jenkinsfile | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2873a8500b..17800d92d5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -85,6 +85,11 @@ RUN pip install --upgrade cmake==3.27.5 && \ gunzip /usr/local/bin/ninja.gz && \ chmod a+x /usr/local/bin/ninja && \ git clone https://github.com/nico/ninjatracing.git && \ +#Install ClangBuildAnalyzer + git clone https://github.com/aras-p/ClangBuildAnalyzer.git && \ + cd ClangBuildAnalyzer/ && \ + make -f projects/make/Makefile && \ + cd / && \ #Install latest cppcheck git clone https://github.com/danmar/cppcheck.git && \ cd cppcheck && mkdir build && cd build && cmake .. && cmake --build . && \ diff --git a/Jenkinsfile b/Jenkinsfile index a40bd97f3a..29aec8e709 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -288,7 +288,7 @@ def cmake_build(Map conf=[:]){ if(!setup_args.contains("NO_CK_BUILD")){ if (setup_args.contains("gfx90a") && params.NINJA_BUILD_TRACE){ echo "running ninja build trace" - setup_cmd = conf.get("setup_cmd", "${cmake_envs} cmake -G Ninja ${setup_args} .. ") + setup_cmd = conf.get("setup_cmd", """${cmake_envs} cmake -G Ninja ${setup_args} -DCMAKE_CXX_FLAGS=" -O3 -ftime-trace " .. """) build_cmd = conf.get("build_cmd", "${build_envs} ninja -j${nt} ${config_targets}") } else{ @@ -316,7 +316,10 @@ def cmake_build(Map conf=[:]){ if(!setup_args.contains("NO_CK_BUILD") && !params.BUILD_LEGACY_OS){ if (setup_args.contains("gfx90a") && params.NINJA_BUILD_TRACE){ 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){ sh "ninja test"