aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vars/utils.groovy22
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
}