Skip to content

Commit

Permalink
Add script for static library job (#526)
Browse files Browse the repository at this point in the history
* Add script for static library job

* Set DBUILD_SHARED_LIBS in install to match rmake.py
  • Loading branch information
samjwu authored Feb 13, 2024
1 parent 3e31a15 commit 99ff890
Show file tree
Hide file tree
Showing 2 changed files with 96 additions and 3 deletions.
81 changes: 81 additions & 0 deletions .jenkins/static.groovy
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
#!/usr/bin/env groovy
@Library('rocJenkins@pong') _
import com.amd.project.*
import com.amd.docker.*
import java.nio.file.Path;

def runCI =
{
nodeDetails, jobName->

def prj = new rocProject('rocPRIM', 'static')
prj.paths.build_command = './install -c -s'
prj.timeout.compile = 600

def nodes = new dockerNodes(nodeDetails, jobName, prj)

def commonGroovy

boolean formatCheck = false

def compileCommand =
{
platform, project->

commonGroovy = load "${project.paths.project_src_prefix}/.jenkins/common.groovy"
commonGroovy.runCompileCommand(platform, project, jobName)
}

def testCommand =
{
platform, project->

commonGroovy.runTestCommand(platform, project)
}

def packageCommand =
{
platform, project->

commonGroovy.runPackageCommand(platform, project)
}

buildProject(prj, formatCheck, nodes.dockerArray, compileCommand, testCommand, packageCommand)
}

ci: {
String urlJobName = auxiliary.getTopJobName(env.BUILD_URL)

def propertyList = ["compute-rocm-dkms-no-npi":[pipelineTriggers([cron('0 1 * * 0')])],
"compute-rocm-dkms-no-npi-hipclang":[pipelineTriggers([cron('0 1 * * 0')])],
"rocm-docker":[]]
propertyList = auxiliary.appendPropertyList(propertyList)

def jobNameList = ["compute-rocm-dkms-no-npi-hipclang":([ubuntu18:['gfx900'],centos7:['gfx906'],centos8:['gfx906'],sles15sp1:['gfx908']])]
jobNameList = auxiliary.appendJobNameList(jobNameList, 'rocPRIM')

propertyList.each
{
jobName, property->
if (urlJobName == jobName)
properties(auxiliary.addCommonProperties(property))
}

jobNameList.each
{
jobName, nodeDetails->
if (urlJobName == jobName)
stage(jobName) {
runCI(nodeDetails, jobName)
}
}

// For url job names that are not listed by the jobNameList i.e. compute-rocm-dkms-no-npi-1901
if(!jobNameList.keySet().contains(urlJobName))
{
properties(auxiliary.addCommonProperties([pipelineTriggers([cron('0 1 * * *')])]))
stage(urlJobName) {
runCI([ubuntu16:['gfx906']], urlJobName)
}
}
}
18 changes: 15 additions & 3 deletions install
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ function display_help()
echo " [-g|--debug] -DCMAKE_BUILD_TYPE=Debug (default is =Release)"
echo " [-k|--relwithdebinfo] -DCMAKE_BUILD_TYPE=RelWithDebInfo"
echo " [-b|--benchmark] builds and runs benchmark"
echo " [-s|--static] build static libraries"
echo " [--codecoverage] build with code coverage profiling enabled"
echo " [--hip-clang] build library for amdgpu backend using hip-clang"
echo " [--address-sanitizer] build with address sanitizer enabled"
Expand All @@ -33,6 +34,7 @@ build_package=false
build_clients=false
build_release=true
build_release_debug=false
build_static_libraries=false
build_codecoverage=false
build_type=Release
build_hip_clang=false
Expand Down Expand Up @@ -99,6 +101,9 @@ while true; do
-b|--benchmark)
build_benchmark=true
shift ;;
-s|--static)
build_static_libraries=true
shift ;;
--codecoverage)
build_codecoverage=true
shift ;;
Expand Down Expand Up @@ -157,6 +162,10 @@ if [[ "${build_clients}" == true ]]; then
clients="ON"
fi

if [[ "${build_static_libraries}" == true ]]; then
static_libs="-DBUILD_SHARED_LIBS=OFF"
fi

if [[ "${build_address_sanitizer}" == true ]]; then
CFLAGS="${CLFAGS} -fsanitize=address -shared-libasan"
CXXFLAGS="${CXXFLAGS} -fsanitize=address -shared-libasan"
Expand All @@ -178,16 +187,19 @@ if [[ "${build_codecoverage}" == true ]]; then
codecoverage="ON"
fi


if [[ "${build_relocatable}" == true ]]; then
CXX=${rocm_path}/bin/${compiler} ${cmake_executable} ${cmake_common_options} \
-DCMAKE_INSTALL_PREFIX=${rocm_path} -DBUILD_BENCHMARK=${benchmark} \
-DCMAKE_PREFIX_PATH="${rocm_path} ${rocm_path}/hip" \
-DBUILD_BENCHMARK=${benchmark} -DBUILD_TEST=${clients} \
-DCMAKE_MODULE_PATH="${rocm_path}/lib/cmake/hip ${rocm_path}/hip/cmake" ../../. # or cmake-gui ../.
-DCMAKE_MODULE_PATH="${rocm_path}/lib/cmake/hip ${rocm_path}/hip/cmake" \
"${static_libs}" \
../../. # or cmake-gui ../.
else
CXX=${rocm_path}/bin/${compiler} ${cmake_executable} ${cmake_common_options} -DBUILD_BENCHMARK=${benchmark} \
-DBUILD_TEST=${clients} -DCMAKE_BUILD_TYPE=${build_type} -DBUILD_CODE_COVERAGE=${codecoverage} ../../. # or cmake-gui ../.
-DBUILD_TEST=${clients} -DCMAKE_BUILD_TYPE=${build_type} -DBUILD_CODE_COVERAGE=${codecoverage} \
"${static_libs}" \
../../. # or cmake-gui ../.
fi

# Build
Expand Down

0 comments on commit 99ff890

Please sign in to comment.