Files
derek.holloway 7502bf64a4
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
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

113 lines
3.6 KiB
Groovy

#!/usr/bin/env groovy
// This shared library is available at https://github.com/ROCmSoftwarePlatform/rocJENKINS/
@Library('rocJenkins@pong') _
// This is file for internal AMD use.
// If you are interested in running your own Jenkins, please raise a github issue for assistance.
import com.amd.project.*
import com.amd.docker.*
import java.nio.file.Path
def runCI =
{
nodeDetails, jobName ->
def prj = new rocProject('rocRoller', 'StaticAnalysis')
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
}
}
boolean formatCheck = true
boolean staticAnalysis = false
def commonGroovy
def compileCommand =
{
platform, project->
commonGroovy = load "${project.paths.project_src_prefix}/.jenkins/common.groovy"
commonGroovy.runCompileCommand(platform, project, jobName, false, false, '', true, true)
}
// change first null to compileCommand once pytest-cmake is available
buildProject(prj, formatCheck, nodes.dockerArray, null, null, null, staticAnalysis)
}
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)
properties(auxiliary.addCommonProperties([pipelineTriggers([cron('0 12 * * 6')])]))
def jobNameList = [
"enterprise":(["ubuntu20":['rocroller-compile']]),
"rocm-libraries":(["ubuntu20":['rocroller-compile']])
]
jobNameList = auxiliary.appendJobNameList(jobNameList)
jobNameList.each
{
jobName, nodeDetails->
if (urlJobName == jobName)
runCI(nodeDetails, jobName)
}
}