Skip to content

Commit c0923f7

Browse files
Added support for zos and replaced hardcoding path based on platform (#6626)
Signed-off-by:Amrutha Kanhirathingal <[email protected]>
1 parent fe5c033 commit c0923f7

File tree

1 file changed

+24
-22
lines changed

1 file changed

+24
-22
lines changed

buildenv/jenkins/cleanupTestLib.groovy

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -8,41 +8,43 @@ def platformMap = [
88
'zlinux' : '(ci.role.test||ci.role.test.fips)&&hw.arch.s390x&&sw.os.linux',
99
'alinux' : '(ci.role.test||ci.role.test.fips)&&hw.arch.aarch64&&sw.os.linux',
1010
'win' : '(ci.role.test||ci.role.test.fips)&&hw.arch.x86&&sw.os.windows',
11-
'aix' : '(ci.role.test||ci.role.test.fips)&&hw.arch.ppc64&&sw.os.aix'
11+
'aix' : '(ci.role.test||ci.role.test.fips)&&hw.arch.ppc64&&sw.os.aix',
12+
'zos' : 'ci.role.test&&hw.arch.s390x&&sw.os.zos'
1213
]
1314

1415
timeout(time: 72, unit: 'HOURS') {
1516
timestamps {
1617
def parallelJobs = [:]
17-
1818
platformMap.each { platform, label ->
1919
echo "${platform}: ${label}"
20-
if (platforms == 'all' || platforms == platform) {
21-
if (params.PLATFORMS == 'all' || params.PLATFORMS == platform) {
22-
def cmd = "hostname; if [ -d /home/jenkins/${dependencyDir} ]; then ls -alt /home/jenkins/${dependencyDir}/; rm -rf /home/jenkins/${dependencyDir}/*; ls -alt /home/jenkins/${dependencyDir}/; else echo 'Directory does not exist: /home/jenkins/${dependencyDir}'; fi;"
23-
def cmd_clean_maven_libs = "if [ -d /home/jenkins/.m2 ]; then ls -alt /home/jenkins/.m2/; rm -rf /home/jenkins/.m2/*; ls -alt /home/jenkins/.m2/; else echo 'Directory does not exist: /home/jenkins/.m2/'; fi"
24-
if (platform == 'win') {
25-
cmd = "hostname; if [ -d C://Users//jenkins//${dependencyDir} ]; then ls -alt C://Users//jenkins//${dependencyDir}//;rm -rf C://Users//jenkins//${dependencyDir}//*;ls -alt C://Users//jenkins//${dependencyDir}//; else echo 'Directory does not exist: C://Users//jenkins//${dependencyDir}'; fi;"
26-
cmd_clean_maven_libs = "if [ -d C://Users//jenkins//.m2 ]; then ls -alt C://Users//jenkins//.m2/; rm -rf C://Users//jenkins//.m2/*; ls -alt C://Users//jenkins//.m2/; else echo 'Directory does not exist: C://Users//jenkins//.m2'; fi"
27-
} else if (platform == 'amac' || platform == 'xmac') {
28-
cmd = "hostname; if [ -d /Users/jenkins/${dependencyDir} ]; then ls -alt /Users/jenkins/${dependencyDir}/; rm -rf /Users/jenkins/${dependencyDir}/*; ls -alt /Users/jenkins/${dependencyDir}/; else echo 'Directory does not exist: /Users/jenkins/${dependencyDir}/'; fi;"
29-
cmd_clean_maven_libs = "if [ -d /Users/jenkins/.m2 ]; then ls -alt /Users/jenkins/.m2/; rm -rf /Users/jenkins/.m2/*; ls -alt /Users/jenkins/.m2/; else echo 'Directory does not exist: /Users/jenkins/.m2'; fi"
20+
if (params.PLATFORMS == 'all' || params.PLATFORMS == platform) {
21+
parallelJobs[platform] = {
22+
def cmd = ''
23+
try {
24+
timeout(time: 15, unit: 'MINUTES') {
25+
node(label) {
26+
echo "Running on node with label: ${label}"
27+
def jenkinsHome = env.WORKSPACE.replace('\\', '/').replaceAll('/workspace/.*', '')
28+
jenkinsHome = (platform == 'win') ? jenkinsHome.replaceAll('/', '//') + '/' : jenkinsHome
29+
cmd = "hostname; if [ -d ${jenkinsHome}/${dependencyDir} ]; then ls -alt ${jenkinsHome}/${dependencyDir}/; rm -rf ${jenkinsHome}/${dependencyDir}/*; ls -alt ${jenkinsHome}/${dependencyDir}/; else echo 'Directory does not exist: ${jenkinsHome}/${dependencyDir}'; fi;"
30+
def cmd_clean_maven_libs = "if [ -d ${jenkinsHome}/.m2 ]; then ls -alt ${jenkinsHome}/.m2/; rm -rf ${jenkinsHome}/.m2/*; ls -alt ${jenkinsHome}/.m2/; else echo 'Directory does not exist: ${jenkinsHome}/.m2/'; fi"
31+
cmd += cmd_clean_maven_libs
32+
}
33+
}
34+
} catch (Exception e) {
35+
echo "No node with label '${label}' is available. Skipping..."
36+
echo 'Exception: ' + e.toString()
3037
}
31-
cmd += cmd_clean_maven_libs
32-
33-
parallelJobs[platform] = {
34-
stage("Build on ${platform}") {
35-
echo "Running job for platform: ${platform} with label: ${label}"
36-
build job: 'all-nodes-matching-labels', parameters: [
38+
if (cmd) {
39+
build job: 'all-nodes-matching-labels', parameters: [
3740
string(name: 'LABEL', value: label),
3841
string(name: 'COMMAND', value: cmd),
39-
string(name: 'TIMEOUT_TIME', value: '24')
40-
], propagate: false
41-
}
42+
string(name: 'TIMEOUT_TIME', value: '48')
43+
], propagate: true
4244
}
4345
}
4446
}
45-
parallel parallelJobs
4647
}
48+
parallel parallelJobs
4749
}
4850
}

0 commit comments

Comments
 (0)