From a61238b69f7e21adb2adbdfe2f2f8b6d96ee0218 Mon Sep 17 00:00:00 2001 From: Yaswanth Raparti <113389104+yraparti@users.noreply.github.com> Date: Thu, 19 Mar 2026 15:00:29 -0700 Subject: [PATCH] [CK][CK TILE] Fix smart-build to run install target for client examples (#5614) How ninja install works: - Builds library dependencies (device_operations, etc.) - Installs them to CMAKE_INSTALL_PREFIX - Skips building test executables (not install dependencies) Affected stages (8): - gfx942/gfx950/gfx908/gfx90a CK Client Examples - gfx10-1/gfx10-3/gfx11/gfx12 CK Client Examples ## Motivation Problem: When smart-build is enabled (runAllUnitTests=false), the build step is skipped entirely. This causes client example stages to fail because they depend on the CK library being installed to ../install. Error seen: Target "client_gemm" links to: composable_kernel::device_other_operations but the target was not found. ## Technical Details Root cause: Line 712 only checked runAllUnitTests, so when building with config_targets="install", the install target was never built, leaving the install directory empty. Fix: Added condition to always build when config_targets contains 'install'. The install target automatically builds its dependencies (the CK libraries) but skips building tests, which aligns with smart-build philosophy. ## Test Plan Should be tested on CI ## Test Result Should be tested on CI ## Submission Checklist - [ ] Look over the contributing guidelines at https://github.com/ROCm/ROCm/blob/develop/CONTRIBUTING.md#pull-requests. --------- Co-authored-by: illsilin_amdeng --- Jenkinsfile | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index c36ed56575..4b97a21554 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -715,8 +715,9 @@ def cmake_build(Map conf=[:]){ "${build_envs} ninja -j${nt} ${config_targets}" ) } else { - // Smart-build enabled: skip full build, only run cmake configure + // Smart-build enabled: skip full build and execute_cmd (client examples) build_cmd = "" + execute_cmd = "" } cmd = conf.get("cmd", """ @@ -1396,8 +1397,8 @@ pipeline { description: "Run codegen tests (default: ON)") booleanParam( name: "RUN_BUILDER_TESTS", - defaultValue: true, - description: "Run CK_BUILDER tests (default: ON)") + defaultValue: false, + description: "Run CK_BUILDER tests (default: OFF)") booleanParam( name: "RUN_ALL_UNIT_TESTS", defaultValue: false,