[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit 2e62a0fac1326f6b28d5e957543018ff3944d95d Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 169 1 file changed, 43 insertions(+), 126 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..883777b 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,8 +22,11 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: e def buildOs = 'linux' def buildJdk = '8' def buildMvn = '3.5.0' +def runITsOses = ['linux', 'windows'] +def runITsJdks = ['7', '8', '9', '10'] +def runITsMvn = '3.5.0' +def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V -Dmaven.test.failure.ignore=true" // -DmavenDistro=... def tests -def CORE_IT_PROFILES='run-its,embedded' try { @@ -59,137 +62,51 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } +Map runITsTasks = [:] +for (String os in runITsOses) { +for (def jdk in runITsJdks) { +String osLabel = jenkinsEnv.labelForOS(os); +String jdkName = jenkinsEnv.jdkFromVersion(os, "${jdk}") +String mvnName = jenkinsEnv.mvnFromVersion(os, "${runITsMvn}") +echo "OS: ${os} JDK: ${jdk} => Label: ${osLabel} JDK: ${jdkName}" -parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +String stageId = "${os}-jdk${jdk}" +String stageLabel = "Run ITs ${os.capitalize()} Java ${jdk}" +runITsTasks[stageId] = { +node(osLabel) { +stage("${stageLabel}") { +// on Windows, need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir(isUnix() ? 'test' : "/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +if (isUnix()) { +sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" +} else { +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +} +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +if (isUnix()) { +sh "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} else { +bat "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +} +deleteDir() // clean up after ourselves to reduce disk space } -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit 2cf06423b562cd43256b4419169da79bf8680a06 Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 169 1 file changed, 43 insertions(+), 126 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..0645844 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,8 +22,11 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: e def buildOs = 'linux' def buildJdk = '8' def buildMvn = '3.5.0' +def runITsOses = ['linux', 'windows'] +def runITsJdks = ['7', '8', '9'] +def runITsMvn = '3.5.0' +def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V -Dmaven.test.failure.ignore=true" // -DmavenDistro=... def tests -def CORE_IT_PROFILES='run-its,embedded' try { @@ -59,137 +62,51 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } +Map runITsTasks = [:] +for (String os in runITsOses) { +for (def jdk in runITsJdks) { +String osLabel = jenkinsEnv.labelForOS(os); +String jdkName = jenkinsEnv.jdkFromVersion(os, "${jdk}") +String mvnName = jenkinsEnv.mvnFromVersion(os, "${runITsMvn}") +echo "OS: ${os} JDK: ${jdk} => Label: ${osLabel} JDK: ${jdkName}" -parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +String stageId = "${os}-jdk${jdk}" +String stageLabel = "Run ITs ${os.capitalize()} Java ${jdk}" +runITsTasks[stageId] = { +node(osLabel) { +stage("${stageLabel}") { +// on Windows, need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir(isUnix() ? 'test' : "/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +if (isUnix()) { +sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" +} else { +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +} +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +if (isUnix()) { +sh "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} else { +bat "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +} +deleteDir() // clean up after ourselves to reduce disk space } -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit e0692906b1e1d965e47e23d4803161153fa1980c Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 177 ++-- 1 file changed, 51 insertions(+), 126 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..4e3dd4f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,8 +22,11 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: e def buildOs = 'linux' def buildJdk = '8' def buildMvn = '3.5.0' +def runITsOses = ['linux', 'windows'] +def runITsJdks = ['7', '8', '9'] +def runITsMvn = '3.5.0' +def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V -Dmaven.test.failure.ignore=true" // -DmavenDistro=... def tests -def CORE_IT_PROFILES='run-its,embedded' try { @@ -59,137 +62,59 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } +Map runITsTasks = [:] +for (String os in runITsOses) { +for (def jdk in runITsJdks) { +String osLabel = jenkinsEnv.labelForOS(os); +String jdkName = jenkinsEnv.jdkFromVersion(os, "${jdk}") +String mvnName = jenkinsEnv.mvnFromVersion(os, "${runITsMvn}") +echo "OS: ${os} JDK: ${jdk} => Label: ${osLabel} JDK: ${jdkName}" -parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +String stageId = "${os}-jdk${jdk}" +String stageLabel = "Run ITs ${os.capitalize()} Java ${jdk}" +runITsTasks[stageId] = { +node(osLabel) { +echo "OS: ${os} JDK: ${jdk} => Label: ${osLabel} JDK: ${jdkName}" +stage("${stageLabel}") { +if (isUnix()) { +dir('test') { +def WORK_DIR=pwd() +checkout tests +sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +sh "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} else { +// need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +bat "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} } -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName =
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit 8039372d27312e7e49c6c46d23818941bc1ac7c8 Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 177 ++-- 1 file changed, 51 insertions(+), 126 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..00c1d67 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,8 +22,11 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: e def buildOs = 'linux' def buildJdk = '8' def buildMvn = '3.5.0' +def runITsOses = ['linux', 'windows'] +def runITsJdks = ['7', '8', '9'] +def runITsMvn = '3.5.0' +def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V -Dmaven.test.failure.ignore=true" // -DmavenDistro=... def tests -def CORE_IT_PROFILES='run-its,embedded' try { @@ -59,137 +62,59 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } +Map runITsTasks = [:] +for (String os in runITsOses) { +for (def jdk in runITsJdks) { +String osLabel = jenkinsEnv.labelForOS(os); +String jdkName = jenkinsEnv.jdkFromVersion(os, "${jdk}") +String mvnName = jenkinsEnv.mvnFromVersion(os, "${runITsMvn}") +echo "OS: ${os} JDK: ${jdk} => Label: ${osLabel} JDK: ${jdkName}" -parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +String stageId = "${os}-jdk${jdk}" +String stageLabel = "Run ITs ${os.capitalize()} Java ${jdk}" +runITsTasks[stageId] = { +node(osLabel) { +echo "OS: ${os} JDK: ${jdk} => Label: ${osLabel} JDK: ${jdkName}" +stage("${stageLabel}") { +if (!("${os}" == 'windows')) { +dir('test') { +def WORK_DIR=pwd() +checkout tests +sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +sh "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} else { +// need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +bat "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} } -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName =
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit c904f5f695f264e9a573885b8ac63c179d0d53b4 Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 175 +--- 1 file changed, 49 insertions(+), 126 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..2d89bc6 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,8 +22,11 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: e def buildOs = 'linux' def buildJdk = '8' def buildMvn = '3.5.0' +def runITsOses = ['linux', 'windows'] +def runITsJdks = ['7', '8', '9'] +def runITsMvn = '3.5.0' +def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V -Dmaven.test.failure.ignore=true" // -DmavenDistro=... def tests -def CORE_IT_PROFILES='run-its,embedded' try { @@ -59,137 +62,57 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } +Map runITsTasks = [:] +for (String os in runITsOses) { +for (def jdk in runITsJdks) { +String osLabel = jenkinsEnv.labelForOS(os); +String jdkName = jenkinsEnv.jdkFromVersion(os, "${jdk}") +String mvnName = jenkinsEnv.mvnFromVersion(os, "${runITsMvn}") +echo "OS: ${os} JDK: ${jdk} => Label: ${osLabel} JDK: ${jdkName}" -parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +String stageId = "${os}-jdk${jdk}" +runITsTasks[stageId] = { +node(osLabel) { +stage("Run ITs ${os.capitalize()} Java ${jdk}") { +if (!(os == 'windows')) { +dir('test') { +def WORK_DIR=pwd() +checkout tests +sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +sh "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} else { +// need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +bat "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} } -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit cdcb5f934f80ed49ad93bcbf8eb0938f640f409c Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 185 +--- 1 file changed, 53 insertions(+), 132 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..e247e4a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,8 +22,58 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: e def buildOs = 'linux' def buildJdk = '8' def buildMvn = '3.5.0' +def runITsOses = ['linux', 'windows'] +def runITsJdks = ['7', '8', '9'] +def runITsMvn = '3.5.0' +def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V -Dmaven.test.failure.ignore=true" // -DmavenDistro=... def tests -def CORE_IT_PROFILES='run-its,embedded' +Map runITsTasks = [:] +for (String os in runITsOses) { +for (def jdk in runITsJdks) { +String osLabel = jenkinsEnv.labelForOS(os); +String jdkName = jenkinsEnv.jdkFromVersion(os, "${jdk}") +String mvnName = jenkinsEnv.mvnFromVersion(os, "${runITsMvn}") + +String stageId = "${os}-jdk${jdk}" +runITsTasks[stageId] = { +node(osLabel) { +stage("Run ITs ${os.capitalize()} Java ${jdk}") { +if (!(os == 'windows')) { +dir('test') { +def WORK_DIR=pwd() +checkout tests +sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +sh "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} else { +// need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +bat "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} +} +} +} +} +} try { @@ -59,137 +109,8 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } - -parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit 2ca6b88439e60723e0d427694db682c239f39063 Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 185 +--- 1 file changed, 53 insertions(+), 132 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..d7a5124 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,8 +22,58 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: e def buildOs = 'linux' def buildJdk = '8' def buildMvn = '3.5.0' +def runITsOses = ['linux', 'windows'] +def runITsJdks = ['7', '8', '9'] +def runITsMvn = '3.5.0' +def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V -Dmaven.test.failure.ignore=true" // -DmavenDistro=... def tests -def CORE_IT_PROFILES='run-its,embedded' +Map runITsTasks = [:] +for (String os in runITsOses) { +for (def jdk in runITsJdks) { +String osLabel = jenkinsEnv.labelForOS(os); +String jdkName = jenkinsEnv.jdkFromVersion(os, "${jdk}") +String mvnName = jenkinsEnv.mvnFromVersion(os, "${runITsMvn}") + +String stageId = "${os}-jdk${jdk}" +runITsTasks[stageId] = { +node(osLabel) { +stage("Run ITs ${osLabel} Java ${jdk}") { +if (os != 'windows') { +dir('test') { +def WORK_DIR=pwd() +checkout tests +sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +sh "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} else { +// need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +bat "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} +} +} +} +} +} try { @@ -59,137 +109,8 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } - -parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit 274210068d1f6c5263252c6cacd6409f8b092cfc Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 185 +--- 1 file changed, 53 insertions(+), 132 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..8364e9e 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,8 +22,58 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: e def buildOs = 'linux' def buildJdk = '8' def buildMvn = '3.5.0' +def runITsOses = ['linux', 'windows'] +def runITsJdks = ['7', '8', '9'] +def runITsMvn = '3.5.0' +def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V -Dmaven.test.failure.ignore=true" // -DmavenDistro=... def tests -def CORE_IT_PROFILES='run-its,embedded' +Map runITsTasks = [:] +for (String os in runITsOses) { +for (def jdk in runITsJdks) { +String osLabel = jenkinsEnv.labelForOS(os); +String jdkName = jenkinsEnv.jdkFromVersion(os, "${jdk}") +String mvnName = jenkinsEnv.mvnFromVersion(os, "${runITsMvn}") + +String stageId = "${os}-jdk${jdk}" +runITsTasks[stageId] = { +node(label) { +stage("Run ITs ${osLabel} Java ${jdk}") { +if (os != 'windows') { +dir('test') { +def WORK_DIR=pwd() +checkout tests +sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +sh "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} else { +// need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +bat "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} +} +} +} +} +} try { @@ -59,137 +109,8 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } - -parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit e8d7f6fa0cc888940ab804601f2f6cfc4fad5e68 Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 174 +--- 1 file changed, 48 insertions(+), 126 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..f182b30 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,8 +22,11 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: e def buildOs = 'linux' def buildJdk = '8' def buildMvn = '3.5.0' +def runITsOses = ['linux', 'windows'] +def runITsJdks = ['7', '8', '9'] +def runITsMvn = '3.5.0' +def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V -Dmaven.test.failure.ignore=true" // -DmavenDistro=... def tests -def CORE_IT_PROFILES='run-its,embedded' try { @@ -59,137 +62,56 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } +Map runITsTasks = [:] +for (String os in runITsOses) { +for (def jdk in runITsJdks) { +String osLabel = jenkinsEnv.labelForOS(os); +String jdkName = jenkinsEnv.jdkFromVersion(os, "${jdk}") +String mvnName = jenkinsEnv.mvnFromVersion(os, "${runITsMvn}") -parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +String stageId = "${os}-jdk${jdk}" +runITsTasks[stageId] = { +node(label) { +stage("Run ITs ${osLabel} Java ${jdk}") { +if (os != 'windows') { +dir('test') { +def WORK_DIR=pwd() +checkout tests +sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +sh "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} else { +// need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +bat "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} } -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit b5c19234d8c0cd76878e1210db1cc1e701cdeffa Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 174 +--- 1 file changed, 48 insertions(+), 126 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..5c84e7a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -22,8 +22,11 @@ properties([buildDiscarder(logRotator(artifactNumToKeepStr: '5', numToKeepStr: e def buildOs = 'linux' def buildJdk = '8' def buildMvn = '3.5.0' +def runITsOses = ['linux', 'windows'] +def runITsJdks = ['7', '8', '9'] +def runITsMvn = '3.5.0' +def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V -Dmaven.test.failure.ignore=true" // -DmavenDistro=... def tests -def CORE_IT_PROFILES='run-its,embedded' try { @@ -59,137 +62,56 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } +Map runITsTasks = [] +for (String os in runITsOses) { +for (def jdk in runITsJdks) { +String osLabel = jenkinsEnv.labelForOS(os); +String jdkName = jenkinsEnv.jdkFromVersion(os, "${jdk}") +String mvnName = jenkinsEnv.mvnFromVersion(os, "${runITsMvn}") -parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +String stageId = "${os}-jdk${jdk}" +runITsTasks[stageId] = { +node(label) { +stage("Run ITs ${osLabel} Java ${jdk}") { +if (os != 'windows') { +dir('test') { +def WORK_DIR=pwd() +checkout tests +sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +sh "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} else { +// need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +bat "${runITscommand} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} } -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit 4c3a599b54c91f549d259fac2562ae876f461b02 Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 181 +--- 1 file changed, 62 insertions(+), 119 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..9a3a647 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -23,7 +23,44 @@ def buildOs = 'linux' def buildJdk = '8' def buildMvn = '3.5.0' def tests -def CORE_IT_PROFILES='run-its,embedded' + +def runCoreITs(String os, String version) { +String jdkName = jenkinsEnv.jdkFromVersion(os, version) +String mvnName = jenkinsEnv.mvnFromVersion(os, '3.5.0') +String command = "mvn clean install -Prun-its,embedded -B -U -V -Dmaven.test.failure.ignore=true" + +if ( os != 'windows' ) { +dir('test') { +def WORK_DIR=pwd() +checkout tests +sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +sh "${command} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} else { +// need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +bat "${command} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} +} +} try { @@ -59,135 +96,41 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } - parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} + node(jenkinsEnv.labelForOS('linux')) { + stage ("Run ITs Linux Java 7") { + runCoreITs('linux', '7') + } } },linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} + node(jenkinsEnv.labelForOS('linux')) { + stage ("Run ITs Linux Java 8") { + runCoreITs('linux', '8') + } } },linuxJava9: { -node(jenkinsEnv.labelForOS('linux'))
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit 8c65413276d881c3b68de104be07283fbf848a65 Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 173 +--- 1 file changed, 48 insertions(+), 125 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..a40bd15 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -23,7 +23,48 @@ def buildOs = 'linux' def buildJdk = '8' def buildMvn = '3.5.0' def tests -def CORE_IT_PROFILES='run-its,embedded' + +def runCoreITs(String os, String version) { +node(jenkinsEnv.labelForOS(os)) { +stage ("Run ITs ${os} Java ${version}") { +String jdkName = jenkinsEnv.jdkFromVersion(os, version) +String mvnName = jenkinsEnv.mvnFromVersion(os, '3.5.0') +String command = "mvn clean install -Prun-its,embedded -B -U -V -Dmaven.test.failure.ignore=true" + +if ( os != 'windows' ) { + dir('test') { + def WORK_DIR=pwd() + checkout tests + sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" + unstash 'dist' + withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ + junitPublisher(ignoreAttachments: false) + ]) { + sh "${command} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" + } + deleteDir() // clean up after ourselves to reduce disk space + } + } else { +// need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +bat "${command} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} + } +} +} +} try { @@ -59,136 +100,18 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } - parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} -} +runCoreITs('linux', '7') },linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit b8a97adfddca7dc8b47f2c8eb731b8695230e07f Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 172 +--- 1 file changed, 48 insertions(+), 124 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..e37f236 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -25,6 +25,48 @@ def buildMvn = '3.5.0' def tests def CORE_IT_PROFILES='run-its,embedded' +def runCoreITs(String os, String version) { +node(jenkinsEnv.labelForOS(os)) { +stage ("Run ITs ${os} Java ${version}") { +String jdkName = jenkinsEnv.jdkFromVersion(os, version) +String mvnName = jenkinsEnv.mvnFromVersion(os, buildMvn) +String command = "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true" + +if ( os != 'windows' ) { + dir('test') { + def WORK_DIR=pwd() + checkout tests + sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" + unstash 'dist' + withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ + junitPublisher(ignoreAttachments: false) + ]) { + sh "${command} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" + } + deleteDir() // clean up after ourselves to reduce disk space + } + } else { +// need a short path or we hit 256 character limit for paths +// using EXECUTOR_NUMBER guarantees that concurrent builds on same agent +// will not trample each other +dir("/mvn-it-${EXECUTOR_NUMBER}.tmp") { +def WORK_DIR=pwd() +checkout tests +bat "if exist it-local-repo rmdir /s /q it-local-repo" +bat "if exist apache-maven-dist.zip del /q apache-maven-dist.zip" +unstash 'dist' +withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ +junitPublisher(ignoreAttachments: false) +]) { +bat "${command} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +} +deleteDir() // clean up after ourselves to reduce disk space +} + } +} +} +} + try { node(jenkinsEnv.labelForOS(buildOs)) { @@ -59,136 +101,18 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } - parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} -} +runCoreITs('linux', '7') },linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit 1686fa62002b0a00b70e252fc43aa7677dcb6cf5 Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 146 +++- 1 file changed, 35 insertions(+), 111 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..918c323 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -59,70 +59,27 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } +def runCoreITs(String os, String version) { +node(jenkinsEnv.labelForOS(os)) { +stage ("Run ITs ${os} Java ${version}") { +String jdkName = jenkinsEnv.jdkFromVersion(os, version) +String mvnName = jenkinsEnv.mvnFromVersion(os, buildMvn) +String command = "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true" -parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava9: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Linux Java 9') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '9') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -}, winJava7: { -node(jenkinsEnv.labelForOS('windows')) { -stage ('Run ITs Windows Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('windows', '7') -String mvnName = jenkinsEnv.mvnFromVersion('windows', buildMvn) - +if ( os != 'windows' ) { + dir('test') { + def WORK_DIR=pwd() + checkout tests + sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" + unstash 'dist' + withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ + junitPublisher(ignoreAttachments: false) + ]) { + sh "${command} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +
[maven] 01/01: created a function to run CoreITs and avoid copy/paste
This is an automated email from the ASF dual-hosted git repository. hboutemy pushed a commit to branch MNG-6364 in repository https://gitbox.apache.org/repos/asf/maven.git commit 81f77051d9344ebc59de270eab3055a9a27807db Author: Hervé BoutemyAuthorDate: Mon May 21 14:06:14 2018 +0200 created a function to run CoreITs and avoid copy/paste --- Jenkinsfile | 146 +++- 1 file changed, 35 insertions(+), 111 deletions(-) diff --git a/Jenkinsfile b/Jenkinsfile index 6e99928..bc7bd01 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -59,70 +59,27 @@ node(jenkinsEnv.labelForOS(buildOs)) { } } +def runCoreITs(String os, String version) { +node(jenkinsEnv.labelForOS(os)) { +stage ("Run ITs ${os} Java ${version}') { +String jdkName = jenkinsEnv.jdkFromVersion(os, version) +String mvnName = jenkinsEnv.mvnFromVersion(os, buildMvn) +String command = "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true" -parallel linuxJava7:{ -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '7') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava8: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Run ITs Linux Java 8') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '8') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -},linuxJava9: { -node(jenkinsEnv.labelForOS('linux')) { -stage ('Linux Java 9') { -String jdkName = jenkinsEnv.jdkFromVersion('linux', '9') -String mvnName = jenkinsEnv.mvnFromVersion('linux', buildMvn) -dir('test') { -def WORK_DIR=pwd() -checkout tests -sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" -unstash 'dist' -withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ -junitPublisher(ignoreAttachments: false) -]) { -sh "mvn clean install -P$CORE_IT_PROFILES -B -U -V -Dmaven.test.failure.ignore=true -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" -} -deleteDir() // clean up after ourselves to reduce disk space -} -} -} -}, winJava7: { -node(jenkinsEnv.labelForOS('windows')) { -stage ('Run ITs Windows Java 7') { -String jdkName = jenkinsEnv.jdkFromVersion('windows', '7') -String mvnName = jenkinsEnv.mvnFromVersion('windows', buildMvn) - +if ( os != 'windows' ) { + dir('test') { + def WORK_DIR=pwd() + checkout tests + sh "rm -rvf $WORK_DIR/apache-maven-dist.zip $WORK_DIR/it-local-repo" + unstash 'dist' + withMaven(jdk: jdkName, maven: mvnName, mavenLocalRepo:"${WORK_DIR}/it-local-repo", options:[ + junitPublisher(ignoreAttachments: false) + ]) { + sh "${command} -DmavenDistro=$WORK_DIR/apache-maven-dist.zip" +