diff options
-rw-r--r-- | vars/utils.groovy | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/vars/utils.groovy b/vars/utils.groovy index 50c7c2e..954f110 100644 --- a/vars/utils.groovy +++ b/vars/utils.groovy @@ -6,20 +6,22 @@ import org.apache.commons.lang3.SerializationUtils // Clone the source repository and examine the most recent commit message. // If a '[ci skip]' or '[skip ci]' directive is present, immediately // terminate the job with a success code. -// If no skip directive is found, stash all the source files for efficient retrieval -// by subsequent nodes. -def scm_checkout() { +// If no skip directive is found, or skip_disable is true, stash all the +// source files for efficient retrieval by subsequent nodes. +def scm_checkout(skip_disable=false) { skip_job = 0 node("on-master") { stage("Setup") { checkout(scm) - // Obtain the last commit message and examine it for skip directives. - logoutput = sh(script:"git log -1 --pretty=%B", returnStdout: true).trim() - if (logoutput.contains("[ci skip]") || logoutput.contains("[skip ci]")) { - skip_job = 1 - currentBuild.result = 'SUCCESS' - println("\nBuild skipped due to commit message directive.\n") - return skip_job + if (!skip_disable) { + // Obtain the last commit message and examine it for skip directives. + logoutput = sh(script:"git log -1 --pretty=%B", returnStdout: true).trim() + if (logoutput.contains("[ci skip]") || logoutput.contains("[skip ci]")) { + skip_job = 1 + currentBuild.result = 'SUCCESS' + println("\nBuild skipped due to commit message directive.\n") + return skip_job + } } stash includes: '**/*', name: 'source_tree', useDefaultExcludes: false } |