[CI] Add static analysis CI (#85)
Signed-off-by: nileshnegi <Nilesh.Negi@amd.com>
[ROCm/rccl-tests commit: e635e9c9be]
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
#!/usr/bin/env groovy
|
||||
// This shared library is available at https://github.com/ROCm/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('rccl-tests', 'StaticAnalysis')
|
||||
prj.paths.build_command = './install.sh'
|
||||
|
||||
// Define test architectures, optional rocm version argument is available
|
||||
def nodes = new dockerNodes(nodeDetails, jobName, prj)
|
||||
|
||||
boolean formatCheck = false
|
||||
boolean staticAnalysis = true
|
||||
|
||||
def commonGroovy
|
||||
|
||||
def compileCommand =
|
||||
{
|
||||
platform, project->
|
||||
|
||||
commonGroovy = load "${project.paths.project_src_prefix}/.jenkins/common.groovy"
|
||||
commonGroovy.runCompileCommand(platform, project, jobName)
|
||||
}
|
||||
|
||||
buildProject(prj, formatCheck, nodes.dockerArray, compileCommand, null, null)
|
||||
}
|
||||
|
||||
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":([ubuntu22:['cpu']]),
|
||||
"rocm-docker":([ubuntu22:['cpu']])]
|
||||
|
||||
jobNameList['compute-rocm-dkms-no-npi-hipclang'] = [ubuntu22:['cpu']]
|
||||
jobNameList = auxiliary.appendJobNameList(jobNameList)
|
||||
|
||||
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([ubuntu22:['cpu']], urlJobName)
|
||||
}
|
||||
}
|
||||
}
|
||||
مرجع در شماره جدید
Block a user