CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
128 lines
3.8 KiB
Groovy
128 lines
3.8 KiB
Groovy
#!/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('rocRoller', 'PreCheckin')
|
|
|
|
//use docker files from this repo
|
|
prj.repoDockerfile = true
|
|
prj.defaults.ccache = true
|
|
|
|
def uniqueTag = params?."Unique Docker image tag" ? org.apache.commons.lang.RandomStringUtils.random(9, true, true) : ""
|
|
|
|
def baseParams = rocRollerGetBaseParameters()
|
|
|
|
def nodes = new dockerNodes(nodeDetails, jobName, prj)
|
|
nodes.dockerArray.each {
|
|
_, docker ->
|
|
// parameters inherited from target job
|
|
["ROCROLLER_AMDGPU_URL", "ROCROLLER_AMDGPU_BUILD_NUMBER", "ROCROLLER_AMDGPU_BUILD_URI"].each {
|
|
param ->
|
|
def value = params?."${param}" ?: baseParams?."${param}";
|
|
if (value)
|
|
{
|
|
docker.buildArgs += " --build-arg ${param}=${value}"
|
|
}
|
|
}
|
|
|
|
if (uniqueTag)
|
|
{
|
|
docker.customFinalTag = uniqueTag
|
|
}
|
|
}
|
|
|
|
def commonGroovy
|
|
|
|
boolean formatCheck = false
|
|
|
|
def compileCommand =
|
|
{
|
|
platform, project->
|
|
|
|
commonGroovy = load "${project.paths.project_src_prefix}/.jenkins/common.groovy"
|
|
commonGroovy.runCodeQLCompileCommand(platform, project, jobName)
|
|
}
|
|
|
|
def testCommand =
|
|
{
|
|
platform, project->
|
|
|
|
commonGroovy.runCodeQLTestCommand(platform, project)
|
|
}
|
|
|
|
buildProject(prj, formatCheck, nodes.dockerArray, compileCommand, testCommand, null)
|
|
}
|
|
|
|
def rocRollerGetBaseParameters() {
|
|
def baseParameters = jenkins.model.Jenkins.instance.getItemByFullName(env.JOB_NAME)
|
|
.parent.getJob(env.CHANGE_TARGET)
|
|
?.getProperty(hudson.model.ParametersDefinitionProperty)
|
|
?.parameterDefinitions
|
|
?.collect {[ it.name, it.defaultParameterValue.value]}
|
|
?.collectEntries();
|
|
return baseParameters;
|
|
}
|
|
|
|
ci: {
|
|
String urlJobName = auxiliary.getTopJobName(env.BUILD_URL)
|
|
|
|
def additionalParameters = [
|
|
string(
|
|
name: "ROCROLLER_AMDGPU_URL",
|
|
defaultValue: params?.ROCROLLER_AMDGPU_URL ?: "",
|
|
trim: true,
|
|
description: "URL to retrieve AMDGPU install package from"
|
|
),
|
|
string(
|
|
name: "ROCROLLER_AMDGPU_BUILD_NUMBER",
|
|
defaultValue: params?.ROCROLLER_AMDGPU_BUILD_NUMBER ?: "",
|
|
trim: true,
|
|
description: "Build number to use for AMDGPU"
|
|
),
|
|
string(
|
|
name: "ROCROLLER_AMDGPU_BUILD_URI",
|
|
defaultValue: params?.ROCROLLER_AMDGPU_BUILD_URI ?: "",
|
|
trim: true,
|
|
description: "Specify the specific artifact path for AMDGPU"
|
|
),
|
|
booleanParam(
|
|
name: "Unique Docker image tag",
|
|
defaultValue: false,
|
|
description: "Whether to tag the built docker image with a unique tag. WARNING: Use sparingly, each unique tag costs significant storage space."
|
|
)
|
|
]
|
|
auxiliary.registerAdditionalParameters(additionalParameters)
|
|
|
|
def propertyList = [
|
|
"enterprise":[pipelineTriggers([cron('0 1 * * 0')])],
|
|
"rocm-libraries":[pipelineTriggers([cron('0 1 * * 0')])]
|
|
]
|
|
propertyList = auxiliary.appendPropertyList(propertyList)
|
|
|
|
def jobNameList = [
|
|
"enterprise":(["rocroller-ubuntu20-clang":['rocroller-compile', 'rocroller-gfx90a']]),
|
|
"rocm-libraries":(["rocroller-ubuntu20-clang":['rocroller-compile', 'rocroller-gfx90a']])
|
|
]
|
|
jobNameList = auxiliary.appendJobNameList(jobNameList)
|
|
|
|
propertyList.each
|
|
{
|
|
jobName, property->
|
|
if (urlJobName == jobName)
|
|
properties(auxiliary.addCommonProperties(property))
|
|
}
|
|
|
|
jobNameList.each
|
|
{
|
|
jobName, nodeDetails->
|
|
if (urlJobName == jobName)
|
|
runCI(nodeDetails, jobName)
|
|
}
|
|
}
|