This is an automated email from the ASF dual-hosted git repository. martinkanters pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/maven-jenkins-lib.git
The following commit(s) were added to refs/heads/master by this push: new 9e3019f Attempting to get the right workspace directory in parallel nodes using a withEnv block. 9e3019f is described below commit 9e3019fedcd89047232e212b7d8dadc8892dc610 Author: Martin Kanters <martinkant...@apache.org> AuthorDate: Mon Oct 5 15:30:44 2020 +0200 Attempting to get the right workspace directory in parallel nodes using a withEnv block. --- vars/asfMavenTlpStdBuild.groovy | 129 ++++++++++++++++++++-------------------- 1 file changed, 66 insertions(+), 63 deletions(-) diff --git a/vars/asfMavenTlpStdBuild.groovy b/vars/asfMavenTlpStdBuild.groovy index 8b3775f..ba9d74d 100644 --- a/vars/asfMavenTlpStdBuild.groovy +++ b/vars/asfMavenTlpStdBuild.groovy @@ -76,73 +76,76 @@ def call(Map params = [:]) { String stageId = "${os}-jdk${jdk}" tasks[stageId] = { node("${label}") { - def wsDir = $WORKSPACE // env.WORKSPACE could not work as expected in parallel tasks (https://issues.jenkins-ci.org/plugins/servlet/mobile#issue/JENKINS-33511) - if (os == 'windows' && tmpWs) { - wsDir = 'F:\\short\\' + "$BUILD_TAG".replaceAll(/(.+)_maven-box_maven-(.+)/) { "m-${it[2]}" } - } - ws( dir : "$wsDir" ) { - stage("Checkout ${stageId}") { - echo "NODE_NAME = ${env.NODE_NAME}" - try { - dir('m') { - checkout scm - } - } catch (Throwable e) { - // First step to keep the workspace clean and safe disk space - cleanWs() - if (!failFast) { - throw e - } else if (failingFast == null) { - failingFast = stageId - echo "[FAIL FAST] This is the first failure and likely root cause" - throw e - } else { - echo "[FAIL FAST] ${failingFast} had first failure, ignoring ${e.message}" - } - } + // without this block $WORKSPACE could not work as expected in parallel tasks (https://issues.jenkins-ci.org/plugins/servlet/mobile#issue/JENKINS-33511) + withEnv(["WORKSPACE=${pwd()}"]) { + def wsDir = $WORKSPACE + if (os == 'windows' && tmpWs) { + wsDir = 'F:\\short\\' + "$BUILD_TAG".replaceAll(/(.+)_maven-box_maven-(.+)/) { "m-${it[2]}" } } - stage("Build ${stageId}") { - if (failingFast != null) { - cleanWs() - echo "[FAIL FAST] ${failingFast} has failed. Skipping ${stageId}." - } else try { - // mavenSettingsConfig: 'simple-deploy-settings-no-mirror', - withMaven(jdk:jdkName, maven:mvnName, mavenLocalRepo:'.repository', - options: [ - artifactsPublisher(disabled: disablePublishers), - junitPublisher(ignoreAttachments: false), - findbugsPublisher(disabled: disablePublishers), - openTasksPublisher(disabled: disablePublishers), - dependenciesFingerprintPublisher(disabled: disablePublishers), - // DISAED DUE TO INFRA-17514 invokerPublisher(), - pipelineGraphPublisher(disabled: disablePublishers) - ], publisherStrategy: 'EXPLICIT') { - dir ('m') { - if (isUnix()) { - sh cmd.join(' ') - } else { - bat cmd.join(' ') - } + ws( dir : "$wsDir" ) { + stage("Checkout ${stageId}") { + echo "NODE_NAME = ${env.NODE_NAME}" + try { + dir('m') { + checkout scm + } + } catch (Throwable e) { + // First step to keep the workspace clean and safe disk space + cleanWs() + if (!failFast) { + throw e + } else if (failingFast == null) { + failingFast = stageId + echo "[FAIL FAST] This is the first failure and likely root cause" + throw e + } else { + echo "[FAIL FAST] ${failingFast} had first failure, ignoring ${e.message}" } } - } catch (Throwable e) { - echo "[FAILURE-004] ${e}" - // First step to keep the workspace clean and safe disk space - cleanWs() - if (!failFast) { - throw e - } else if (failingFast == null) { - failingFast = stageId - echo "[FAIL FAST] This is the first failure and likely root cause" - throw e - } else { - echo "[FAIL FAST] ${failingFast} had first failure, ignoring ${e.message}" - } - } finally { - try { + } + stage("Build ${stageId}") { + if (failingFast != null) { cleanWs() - } catch(IOException e) { - echo "Failed to clean up workspace: ${e}" + echo "[FAIL FAST] ${failingFast} has failed. Skipping ${stageId}." + } else try { + // mavenSettingsConfig: 'simple-deploy-settings-no-mirror', + withMaven(jdk:jdkName, maven:mvnName, mavenLocalRepo:'.repository', + options: [ + artifactsPublisher(disabled: disablePublishers), + junitPublisher(ignoreAttachments: false), + findbugsPublisher(disabled: disablePublishers), + openTasksPublisher(disabled: disablePublishers), + dependenciesFingerprintPublisher(disabled: disablePublishers), + // DISABLED DUE TO INFRA-17514 invokerPublisher(), + pipelineGraphPublisher(disabled: disablePublishers) + ], publisherStrategy: 'EXPLICIT') { + dir ('m') { + if (isUnix()) { + sh cmd.join(' ') + } else { + bat cmd.join(' ') + } + } + } + } catch (Throwable e) { + echo "[FAILURE-004] ${e}" + // First step to keep the workspace clean and safe disk space + cleanWs() + if (!failFast) { + throw e + } else if (failingFast == null) { + failingFast = stageId + echo "[FAIL FAST] This is the first failure and likely root cause" + throw e + } else { + echo "[FAIL FAST] ${failingFast} had first failure, ignoring ${e.message}" + } + } finally { + try { + cleanWs() + } catch(IOException e) { + echo "Failed to clean up workspace: ${e}" + } } } }