From 9d0563486ec6e52c604593b36e38090c62284170 Mon Sep 17 00:00:00 2001 From: Kiriti Gowda Date: Thu, 10 Apr 2025 13:21:51 -0700 Subject: [PATCH] Code Coverage - Updates (#556) * Code Coverage - Updates * Jenkins - Fix LLVM Location [ROCm/rocdecode commit: a1ead2a7c1ba361a8c9a2c721d616faf4177a132] --- projects/rocdecode/.jenkins/common.groovy | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/projects/rocdecode/.jenkins/common.groovy b/projects/rocdecode/.jenkins/common.groovy index f7c67bba61..935f270097 100644 --- a/projects/rocdecode/.jenkins/common.groovy +++ b/projects/rocdecode/.jenkins/common.groovy @@ -12,7 +12,7 @@ def runCompileCommand(platform, project, jobName, boolean debug=false, boolean s echo Build rocDecode - ${buildTypeDir} cd ${project.paths.project_build_prefix} mkdir -p build/${buildTypeDir} && cd build/${buildTypeDir} - cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=/usr/bin/clang++ -DCMAKE_CXX_FLAGS="-fprofile-instr-generate -fcoverage-mapping" ../.. + cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_FLAGS="-fprofile-instr-generate -fcoverage-mapping" ../.. make -j\$(nproc) sudo make install sudo make package @@ -28,15 +28,21 @@ def runTestCommand (platform, project) { String libLocation = '' String libvaDriverPath = "" String packageManager = 'apt -y' + String toolsPackage = 'llvm-amdgpu-dev' + String llvmLocation = '/opt/amdgpu/lib/x86_64-linux-gnu/llvm-20.1/bin' if (platform.jenkinsLabel.contains('rhel')) { libLocation = ':/usr/local/lib' packageManager = 'yum -y' + toolsPackage = 'llvm-amdgpu-devel' + llvmLocation = '/opt/amdgpu/lib64/llvm-20.1/bin' } else if (platform.jenkinsLabel.contains('sles')) { libLocation = ':/usr/local/lib' libvaDriverPath = "export LIBVA_DRIVERS_PATH=/opt/amdgpu/lib64/dri" packageManager = 'zypper -n' + toolsPackage = 'llvm-amdgpu-devel' + llvmLocation = '/opt/amdgpu/lib64/llvm-20.1/bin' } String commitSha @@ -99,10 +105,12 @@ def runTestCommand (platform, project) { echo \$(pwd) cd ../../../ echo \$(pwd) - llvm-profdata merge -sparse rawdata/*.profraw -o rocdecode.profdata - llvm-cov export -object release/lib/librocdecode.so --instr-profile=rocdecode.profdata --format=lcov > coverage.info - sudo ${packageManager} install lcov + sudo ${packageManager} install lcov ${toolsPackage} + ${llvmLocation}/llvm-profdata merge -sparse rawdata/*.profraw -o rocdecode.profdata + ${llvmLocation}/llvm-cov export -object release/lib/librocdecode.so --instr-profile=rocdecode.profdata --format=lcov > coverage.info + lcov --remove coverage.info '/opt/*' --output-file coverage.info lcov --list coverage.info + lcov --summary coverage.info curl -Os https://uploader.codecov.io/latest/linux/codecov chmod +x codecov ./codecov -v -U \$http_proxy -t ${CODECOV_TOKEN} --file coverage.info --name rocDecode --sha ${commitSha}