From cea3844edfb6f83419d970ed9a28cfec8209b4b2 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 00:46:21 -0800 Subject: [PATCH 01/32] Some new stuff to try --- src/com/thejimnicholson/Versioner.groovy | 6 +++++ vars/buildStep.groovy | 34 +++++++++++++----------- vars/checkoutStep.groovy | 12 +++++++-- vars/getCurrentTag.groovy | 11 +++++++- 4 files changed, 45 insertions(+), 18 deletions(-) create mode 100644 src/com/thejimnicholson/Versioner.groovy diff --git a/src/com/thejimnicholson/Versioner.groovy b/src/com/thejimnicholson/Versioner.groovy new file mode 100644 index 0000000..35f4a69 --- /dev/null +++ b/src/com/thejimnicholson/Versioner.groovy @@ -0,0 +1,6 @@ + +class Versioner { + + + +} \ No newline at end of file diff --git a/vars/buildStep.groovy b/vars/buildStep.groovy index 2c282de..57710bc 100644 --- a/vars/buildStep.groovy +++ b/vars/buildStep.groovy @@ -1,24 +1,28 @@ #!/usr/bin/env groovy -void call(Map config = [:]) { +void call(Map config = [:], Closure body) { Map defaults = [ saveArtifaces: false, buildTest: 'Makefile', - buildCmd: 'make all' + buildCmd: 'make all', + stepName: 'Build' ] Map runConfig = defaults + config - if (runConfig.saveArtifacts) { - assert runConfig.artifacts : 'Error: saveArtifacts is set to true; must specify artifacts!' - } - if ( fileExists(runConfig.buildTest)) { - sh """ - ${runConfig.buildCmd} - """ - } else { - error("ERROR: File ${runConfig.buildTest} does not exist in workspace.") - } - if (runConfig.saveArtifacts) { - artifactsList = runConfig.artifacts.inspect().replaceAll('[\\[\\]\'\"]', '') - archiveArtifacts artifacts: artifactsList, followSymlinks: false + stage(runConfig.stepName) { + if (runConfig.saveArtifacts) { + assert runConfig.artifacts : 'Error: saveArtifacts is set to true; must specify artifacts!' + } + if ( fileExists(runConfig.buildTest)) { + sh """ + ${runConfig.buildCmd} + """ + } else { + error("ERROR: File ${runConfig.buildTest} does not exist in workspace.") + } + if (runConfig.saveArtifacts) { + artifactsList = runConfig.artifacts.inspect().replaceAll('[\\[\\]\'\"]', '') + archiveArtifacts artifacts: artifactsList, followSymlinks: false + } + body() } } diff --git a/vars/checkoutStep.groovy b/vars/checkoutStep.groovy index 88d620d..8043204 100644 --- a/vars/checkoutStep.groovy +++ b/vars/checkoutStep.groovy @@ -1,5 +1,13 @@ #!/usr/bin/env groovy -void call() { - checkout scm +void call(Map config = [:], Closure body) { + Map defaults = [ + stepName: 'Checkout', + useJobSCM: true + ] + runDefaults = defaults + config + stage(runConfig.stepName) { + checkout scm + body() + } } diff --git a/vars/getCurrentTag.groovy b/vars/getCurrentTag.groovy index 71776aa..52ca9b5 100644 --- a/vars/getCurrentTag.groovy +++ b/vars/getCurrentTag.groovy @@ -10,5 +10,14 @@ String call(Map config = [:]) { script: "git describe --tags --always --dirty=${runConfig.dirtyFlag}", returnStdout: true ).trim() - return gitTag + + gitHash = sh( + script: 'git rev-parse --short HEAD', + returnStdout: true + ).trim() + + runConfig.tag = gitTag + runConfig.hash = gitHash + + return runConfig } -- 2.45.2 From 28fd83e208e4c0b30272e4b5bde00fa7b28b9111 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 00:52:14 -0800 Subject: [PATCH 02/32] Fix typo --- vars/checkoutStep.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/checkoutStep.groovy b/vars/checkoutStep.groovy index 8043204..2d1c08a 100644 --- a/vars/checkoutStep.groovy +++ b/vars/checkoutStep.groovy @@ -5,7 +5,7 @@ void call(Map config = [:], Closure body) { stepName: 'Checkout', useJobSCM: true ] - runDefaults = defaults + config + runConfig = defaults + config stage(runConfig.stepName) { checkout scm body() -- 2.45.2 From b146e04866d23627251ff09de8c7cb9701b3ce11 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 00:55:54 -0800 Subject: [PATCH 03/32] debug --- vars/checkoutStep.groovy | 1 + 1 file changed, 1 insertion(+) diff --git a/vars/checkoutStep.groovy b/vars/checkoutStep.groovy index 2d1c08a..945f934 100644 --- a/vars/checkoutStep.groovy +++ b/vars/checkoutStep.groovy @@ -5,6 +5,7 @@ void call(Map config = [:], Closure body) { stepName: 'Checkout', useJobSCM: true ] + echo "Firing ..." runConfig = defaults + config stage(runConfig.stepName) { checkout scm -- 2.45.2 From fa3fd076d4f04f2e4507ab1bb2f29a8407935773 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 01:53:47 -0800 Subject: [PATCH 04/32] Test --- vars/checkoutStep.groovy | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/vars/checkoutStep.groovy b/vars/checkoutStep.groovy index 945f934..9bb8d14 100644 --- a/vars/checkoutStep.groovy +++ b/vars/checkoutStep.groovy @@ -5,10 +5,12 @@ void call(Map config = [:], Closure body) { stepName: 'Checkout', useJobSCM: true ] - echo "Firing ..." + echo 'Firing ...' runConfig = defaults + config stage(runConfig.stepName) { - checkout scm + if (runConfig.useJobSCM) { + checkout scm + } body() } } -- 2.45.2 From 9b2f326b0861460674f7e9dc67a53abc3d19c4db Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 01:55:56 -0800 Subject: [PATCH 05/32] Is closure breaking us? --- vars/buildStep.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/buildStep.groovy b/vars/buildStep.groovy index 57710bc..118728c 100644 --- a/vars/buildStep.groovy +++ b/vars/buildStep.groovy @@ -23,6 +23,6 @@ void call(Map config = [:], Closure body) { artifactsList = runConfig.artifacts.inspect().replaceAll('[\\[\\]\'\"]', '') archiveArtifacts artifacts: artifactsList, followSymlinks: false } - body() + // body() } } -- 2.45.2 From 29be5c06606b028c05d878da6512069c38d60684 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 02:02:11 -0800 Subject: [PATCH 06/32] Add closure back --- vars/buildStep.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/buildStep.groovy b/vars/buildStep.groovy index 118728c..57710bc 100644 --- a/vars/buildStep.groovy +++ b/vars/buildStep.groovy @@ -23,6 +23,6 @@ void call(Map config = [:], Closure body) { artifactsList = runConfig.artifacts.inspect().replaceAll('[\\[\\]\'\"]', '') archiveArtifacts artifacts: artifactsList, followSymlinks: false } - // body() + body() } } -- 2.45.2 From 8de898ea2de41a3fd3a9a5f71196ea305e6a6840 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 02:16:20 -0800 Subject: [PATCH 07/32] Some cleanup --- vars/buildStep.groovy | 1 + vars/checkoutStep.groovy | 1 + vars/makeStepBanner.groovy | 9 +++++++++ 3 files changed, 11 insertions(+) create mode 100644 vars/makeStepBanner.groovy diff --git a/vars/buildStep.groovy b/vars/buildStep.groovy index 57710bc..4acf4e8 100644 --- a/vars/buildStep.groovy +++ b/vars/buildStep.groovy @@ -9,6 +9,7 @@ void call(Map config = [:], Closure body) { ] Map runConfig = defaults + config stage(runConfig.stepName) { + echo makeStepBanner(runConfig.stepName) if (runConfig.saveArtifacts) { assert runConfig.artifacts : 'Error: saveArtifacts is set to true; must specify artifacts!' } diff --git a/vars/checkoutStep.groovy b/vars/checkoutStep.groovy index 9bb8d14..af4630a 100644 --- a/vars/checkoutStep.groovy +++ b/vars/checkoutStep.groovy @@ -8,6 +8,7 @@ void call(Map config = [:], Closure body) { echo 'Firing ...' runConfig = defaults + config stage(runConfig.stepName) { + echo makeStepBanner(runConfig.stepName) if (runConfig.useJobSCM) { checkout scm } diff --git a/vars/makeStepBanner.groovy b/vars/makeStepBanner.groovy new file mode 100644 index 0000000..ccffb70 --- /dev/null +++ b/vars/makeStepBanner.groovy @@ -0,0 +1,9 @@ +String makeStepBanner(String msg) { + return """ + =========================================== + + ${msg} + + =========================================== + """ +} -- 2.45.2 From d43f8c38059e79b7dec25aed3db87429d15a4415 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 02:18:59 -0800 Subject: [PATCH 08/32] Does this work? --- vars/makeStepBanner.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vars/makeStepBanner.groovy b/vars/makeStepBanner.groovy index ccffb70..2e8dd4d 100644 --- a/vars/makeStepBanner.groovy +++ b/vars/makeStepBanner.groovy @@ -1,9 +1,10 @@ String makeStepBanner(String msg) { - return """ + banner = """ =========================================== ${msg} =========================================== """ + return banner } -- 2.45.2 From 1a710c3155cd3273b704be16e5e859a00f19fb64 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 02:20:54 -0800 Subject: [PATCH 09/32] Try this instead --- vars/buildStep.groovy | 2 +- vars/checkoutStep.groovy | 2 +- vars/makeStepBanner.groovy | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/vars/buildStep.groovy b/vars/buildStep.groovy index 4acf4e8..fe31dd8 100644 --- a/vars/buildStep.groovy +++ b/vars/buildStep.groovy @@ -9,7 +9,7 @@ void call(Map config = [:], Closure body) { ] Map runConfig = defaults + config stage(runConfig.stepName) { - echo makeStepBanner(runConfig.stepName) + makeStepBanner(runConfig.stepName) if (runConfig.saveArtifacts) { assert runConfig.artifacts : 'Error: saveArtifacts is set to true; must specify artifacts!' } diff --git a/vars/checkoutStep.groovy b/vars/checkoutStep.groovy index af4630a..8d72f5d 100644 --- a/vars/checkoutStep.groovy +++ b/vars/checkoutStep.groovy @@ -8,7 +8,7 @@ void call(Map config = [:], Closure body) { echo 'Firing ...' runConfig = defaults + config stage(runConfig.stepName) { - echo makeStepBanner(runConfig.stepName) + makeStepBanner(runConfig.stepName) if (runConfig.useJobSCM) { checkout scm } diff --git a/vars/makeStepBanner.groovy b/vars/makeStepBanner.groovy index 2e8dd4d..8a72816 100644 --- a/vars/makeStepBanner.groovy +++ b/vars/makeStepBanner.groovy @@ -1,10 +1,9 @@ -String makeStepBanner(String msg) { - banner = """ +void makeStepBanner(String msg) { + echo """ =========================================== ${msg} =========================================== """ - return banner } -- 2.45.2 From 0803dfae5dea203554c154d6a725ee2a1c27c7f2 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 02:22:56 -0800 Subject: [PATCH 10/32] Are things this fucked up? --- vars/makeStepBanner.groovy | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/vars/makeStepBanner.groovy b/vars/makeStepBanner.groovy index 8a72816..c4f9b2d 100644 --- a/vars/makeStepBanner.groovy +++ b/vars/makeStepBanner.groovy @@ -1,9 +1,3 @@ void makeStepBanner(String msg) { - echo """ - =========================================== - - ${msg} - - =========================================== - """ + echo msg } -- 2.45.2 From ccda216aeedef5784a1855b6425fbab21b2e8ae5 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 02:25:41 -0800 Subject: [PATCH 11/32] this is a mess --- vars/buildStep.groovy | 2 +- vars/checkoutStep.groovy | 1 - vars/makeStepBanner.groovy | 3 --- 3 files changed, 1 insertion(+), 5 deletions(-) delete mode 100644 vars/makeStepBanner.groovy diff --git a/vars/buildStep.groovy b/vars/buildStep.groovy index fe31dd8..4f49d42 100644 --- a/vars/buildStep.groovy +++ b/vars/buildStep.groovy @@ -9,7 +9,7 @@ void call(Map config = [:], Closure body) { ] Map runConfig = defaults + config stage(runConfig.stepName) { - makeStepBanner(runConfig.stepName) + echo "${runConfig.stepName}" if (runConfig.saveArtifacts) { assert runConfig.artifacts : 'Error: saveArtifacts is set to true; must specify artifacts!' } diff --git a/vars/checkoutStep.groovy b/vars/checkoutStep.groovy index 8d72f5d..9bb8d14 100644 --- a/vars/checkoutStep.groovy +++ b/vars/checkoutStep.groovy @@ -8,7 +8,6 @@ void call(Map config = [:], Closure body) { echo 'Firing ...' runConfig = defaults + config stage(runConfig.stepName) { - makeStepBanner(runConfig.stepName) if (runConfig.useJobSCM) { checkout scm } diff --git a/vars/makeStepBanner.groovy b/vars/makeStepBanner.groovy deleted file mode 100644 index c4f9b2d..0000000 --- a/vars/makeStepBanner.groovy +++ /dev/null @@ -1,3 +0,0 @@ -void makeStepBanner(String msg) { - echo msg -} -- 2.45.2 From e7b0bf65abf74427ab037476a0ec579de5309a36 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 02:47:14 -0800 Subject: [PATCH 12/32] Try banners again --- vars/printBanner.groovy | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 vars/printBanner.groovy diff --git a/vars/printBanner.groovy b/vars/printBanner.groovy new file mode 100644 index 0000000..dc2b6fe --- /dev/null +++ b/vars/printBanner.groovy @@ -0,0 +1,5 @@ +void printBanner(String anything) { + repetitions = anything.length() + 2 + boxTop = "+${'='.repeat(repetitions)}+" + echo "${boxTop}\n| ${anything} |\n${boxTop}\n" +} -- 2.45.2 From ddd61cc25ac936f9e1733ddc0c6ada069f17707e Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 03:07:58 -0800 Subject: [PATCH 13/32] find another way --- vars/buildStep.groovy | 2 +- vars/checkoutStep.groovy | 1 + vars/printBanner.groovy | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/vars/buildStep.groovy b/vars/buildStep.groovy index 4f49d42..2339de2 100644 --- a/vars/buildStep.groovy +++ b/vars/buildStep.groovy @@ -9,7 +9,7 @@ void call(Map config = [:], Closure body) { ] Map runConfig = defaults + config stage(runConfig.stepName) { - echo "${runConfig.stepName}" + printBanner(runConfig.stepName) if (runConfig.saveArtifacts) { assert runConfig.artifacts : 'Error: saveArtifacts is set to true; must specify artifacts!' } diff --git a/vars/checkoutStep.groovy b/vars/checkoutStep.groovy index 9bb8d14..191c797 100644 --- a/vars/checkoutStep.groovy +++ b/vars/checkoutStep.groovy @@ -8,6 +8,7 @@ void call(Map config = [:], Closure body) { echo 'Firing ...' runConfig = defaults + config stage(runConfig.stepName) { + printBanner(runConfig.stepName) if (runConfig.useJobSCM) { checkout scm } diff --git a/vars/printBanner.groovy b/vars/printBanner.groovy index dc2b6fe..c8bd42f 100644 --- a/vars/printBanner.groovy +++ b/vars/printBanner.groovy @@ -1,5 +1,5 @@ void printBanner(String anything) { repetitions = anything.length() + 2 - boxTop = "+${'='.repeat(repetitions)}+" + boxTop = "+${'=' * repetitions}+" echo "${boxTop}\n| ${anything} |\n${boxTop}\n" } -- 2.45.2 From dbc2bf849d1a2aa68dd6047a9df62bcb9ac9e617 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 03:16:30 -0800 Subject: [PATCH 14/32] Move things around --- vars/checkoutStep.groovy | 3 +++ 1 file changed, 3 insertions(+) diff --git a/vars/checkoutStep.groovy b/vars/checkoutStep.groovy index 191c797..498c387 100644 --- a/vars/checkoutStep.groovy +++ b/vars/checkoutStep.groovy @@ -8,6 +8,9 @@ void call(Map config = [:], Closure body) { echo 'Firing ...' runConfig = defaults + config stage(runConfig.stepName) { + repetitions = runConfig.stepName.length() + 2 + boxTop = '+' + '=' * repetitions + '+' + echo "${boxTop}\n| ${runConfig.stepName} |\n${boxTop}\n" printBanner(runConfig.stepName) if (runConfig.useJobSCM) { checkout scm -- 2.45.2 From e759b6a178ca7a77fa2492bcf9443db94fbf3166 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 03:19:11 -0800 Subject: [PATCH 15/32] OK try this --- vars/checkoutStep.groovy | 3 --- vars/printBanner.groovy | 3 ++- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/vars/checkoutStep.groovy b/vars/checkoutStep.groovy index 498c387..191c797 100644 --- a/vars/checkoutStep.groovy +++ b/vars/checkoutStep.groovy @@ -8,9 +8,6 @@ void call(Map config = [:], Closure body) { echo 'Firing ...' runConfig = defaults + config stage(runConfig.stepName) { - repetitions = runConfig.stepName.length() + 2 - boxTop = '+' + '=' * repetitions + '+' - echo "${boxTop}\n| ${runConfig.stepName} |\n${boxTop}\n" printBanner(runConfig.stepName) if (runConfig.useJobSCM) { checkout scm diff --git a/vars/printBanner.groovy b/vars/printBanner.groovy index c8bd42f..b3650a0 100644 --- a/vars/printBanner.groovy +++ b/vars/printBanner.groovy @@ -1,5 +1,6 @@ void printBanner(String anything) { + boxCorner = '+' repetitions = anything.length() + 2 - boxTop = "+${'=' * repetitions}+" + boxTop = boxCorner + '=' * repetitions + boxCorner echo "${boxTop}\n| ${anything} |\n${boxTop}\n" } -- 2.45.2 From 24f432256a871b4117b4295cd2f683e3de1989bb Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 04:15:23 -0800 Subject: [PATCH 16/32] Try the AI approach --- src/com/thejimnicholson/Versioner.groovy | 6 ------ vars/printBanner.groovy | 13 ++++++++----- 2 files changed, 8 insertions(+), 11 deletions(-) delete mode 100644 src/com/thejimnicholson/Versioner.groovy diff --git a/src/com/thejimnicholson/Versioner.groovy b/src/com/thejimnicholson/Versioner.groovy deleted file mode 100644 index 35f4a69..0000000 --- a/src/com/thejimnicholson/Versioner.groovy +++ /dev/null @@ -1,6 +0,0 @@ - -class Versioner { - - - -} \ No newline at end of file diff --git a/vars/printBanner.groovy b/vars/printBanner.groovy index b3650a0..eea3218 100644 --- a/vars/printBanner.groovy +++ b/vars/printBanner.groovy @@ -1,6 +1,9 @@ -void printBanner(String anything) { - boxCorner = '+' - repetitions = anything.length() + 2 - boxTop = boxCorner + '=' * repetitions + boxCorner - echo "${boxTop}\n| ${anything} |\n${boxTop}\n" +def printStepBanner(stepName) { + def bannerWidth = stepName.length() + 6 + def banner = "+${'-'.multiply(bannerWidth)}+" + def stepBanner = "| $stepName |" + + echo banner + echo stepBanner + echo banner } -- 2.45.2 From cd38ffbb9c5faff813ea6cf4c71d5bfc41b24e8b Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 04:22:47 -0800 Subject: [PATCH 17/32] Testing --- vars/printBanner.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/printBanner.groovy b/vars/printBanner.groovy index eea3218..52ff529 100644 --- a/vars/printBanner.groovy +++ b/vars/printBanner.groovy @@ -1,4 +1,4 @@ -def printStepBanner(stepName) { +def call(stepName) { def bannerWidth = stepName.length() + 6 def banner = "+${'-'.multiply(bannerWidth)}+" def stepBanner = "| $stepName |" -- 2.45.2 From da42f61f216bb36f7dc181c9ad46868b77718c1d Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 04:25:08 -0800 Subject: [PATCH 18/32] Test --- vars/printBanner.groovy | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/vars/printBanner.groovy b/vars/printBanner.groovy index 52ff529..9667f2a 100644 --- a/vars/printBanner.groovy +++ b/vars/printBanner.groovy @@ -1,9 +1,6 @@ -def call(stepName) { +void call(stepName) { def bannerWidth = stepName.length() + 6 def banner = "+${'-'.multiply(bannerWidth)}+" def stepBanner = "| $stepName |" - - echo banner - echo stepBanner - echo banner + echo "$banner\n$stepBanner\n$banner" } -- 2.45.2 From a3bf854bb847938c964bbfab6ef104978089f297 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 04:30:38 -0800 Subject: [PATCH 19/32] Fixed banner with the help of AI --- vars/printBanner.groovy | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/vars/printBanner.groovy b/vars/printBanner.groovy index 9667f2a..6230f4c 100644 --- a/vars/printBanner.groovy +++ b/vars/printBanner.groovy @@ -1,6 +1,8 @@ -void call(stepName) { - def bannerWidth = stepName.length() + 6 - def banner = "+${'-'.multiply(bannerWidth)}+" - def stepBanner = "| $stepName |" +void call(String stepName) { + stepCorner = '+' + stepBanner = "| $stepName |" + bannerWidth = stepBanner.length() - 2 + banner = stepCorder + ('=' * bannerWidth) + stepCorner + echo "$banner\n$stepBanner\n$banner" } -- 2.45.2 From 729f455eccada3403687e0c1c2421f59c6bb5208 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 04:31:27 -0800 Subject: [PATCH 20/32] Fix typo --- vars/printBanner.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/printBanner.groovy b/vars/printBanner.groovy index 6230f4c..0de64d9 100644 --- a/vars/printBanner.groovy +++ b/vars/printBanner.groovy @@ -2,7 +2,7 @@ void call(String stepName) { stepCorner = '+' stepBanner = "| $stepName |" bannerWidth = stepBanner.length() - 2 - banner = stepCorder + ('=' * bannerWidth) + stepCorner + banner = stepCorner + ('=' * bannerWidth) + stepCorner echo "$banner\n$stepBanner\n$banner" } -- 2.45.2 From b41328423e43b12f3ddbf291fe948245c0dda3ba Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 04:34:21 -0800 Subject: [PATCH 21/32] Fix name of build tag helper --- vars/{getCurrentTag.groovy => addCurrentGitTag.groovy} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename vars/{getCurrentTag.groovy => addCurrentGitTag.groovy} (100%) diff --git a/vars/getCurrentTag.groovy b/vars/addCurrentGitTag.groovy similarity index 100% rename from vars/getCurrentTag.groovy rename to vars/addCurrentGitTag.groovy -- 2.45.2 From c57ea0a94af487175816edef9b92cb13b0d4b5c3 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 04:39:54 -0800 Subject: [PATCH 22/32] Change API for packaging --- vars/packageStep.groovy | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/vars/packageStep.groovy b/vars/packageStep.groovy index 09c2bf6..32e0ca3 100644 --- a/vars/packageStep.groovy +++ b/vars/packageStep.groovy @@ -9,13 +9,15 @@ void call(Map config = [:]) { ] Map runConfig = defaults + config + stage(runConfig.stepName) { + printBanner(runConfig.stepName) + String archiveName = "${runConfig.name}-${runConfig.tag}.${runConfig.extension}" - String archiveName = "${runConfig.name}-${runConfig.tag}.${runConfig.extension}" + echo "Will tag result as: ${archiveName}" - echo "Will tag result as: ${archiveName}" - - sh """ - ${runConfig.archiveCmd} ${archiveName} ${runConfig.artifacts.join(' ')} - """ - archiveArtifacts artifacts: archiveName, followSymlinks: false + sh """ + ${runConfig.archiveCmd} ${archiveName} ${runConfig.artifacts.join(' ')} + """ + archiveArtifacts artifacts: archiveName, followSymlinks: false + } } -- 2.45.2 From 8d2fbd168116686798209d6201f177b76069cf03 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 04:41:52 -0800 Subject: [PATCH 23/32] Add closure to package step --- vars/packageStep.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/vars/packageStep.groovy b/vars/packageStep.groovy index 32e0ca3..53a8178 100644 --- a/vars/packageStep.groovy +++ b/vars/packageStep.groovy @@ -1,6 +1,6 @@ #!/usr/bin/env groovy -void call(Map config = [:]) { +void call(Map config = [:], Closure body) { Map defaults = [ name: env.BUILD_TAG, archiveCmd: 'tar zcvf', @@ -19,5 +19,6 @@ void call(Map config = [:]) { ${runConfig.archiveCmd} ${archiveName} ${runConfig.artifacts.join(' ')} """ archiveArtifacts artifacts: archiveName, followSymlinks: false + body() } } -- 2.45.2 From 7059990c87cfc3db5d0942339ee638ac7efd5e1b Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 05:00:00 -0800 Subject: [PATCH 24/32] Maybe we need a tar and a zip helper --- vars/packageStep.groovy | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/vars/packageStep.groovy b/vars/packageStep.groovy index 53a8178..9c85ec4 100644 --- a/vars/packageStep.groovy +++ b/vars/packageStep.groovy @@ -3,20 +3,28 @@ void call(Map config = [:], Closure body) { Map defaults = [ name: env.BUILD_TAG, - archiveCmd: 'tar zcvf', + archiveCmd: 'tar', + archiveParams: 'zcvf', extension: 'tgz', - artifacts: [] + artifacts: [], + stepName: 'Package', + separator: '-' ] - Map runConfig = defaults + config stage(runConfig.stepName) { printBanner(runConfig.stepName) - String archiveName = "${runConfig.name}-${runConfig.tag}.${runConfig.extension}" - + if (runConfig.artifacts.size() < 1) { + assert runConfig.artifacts : 'Error: No named artifacts to package!' + } + archiveName = runConfig.name + separator + runConfig.tag + separator + runConfig.extension echo "Will tag result as: ${archiveName}" sh """ - ${runConfig.archiveCmd} ${archiveName} ${runConfig.artifacts.join(' ')} + if command -v "${runconfig.archiveCmd}"; then + ${runConfig.archiveCmd} ${archiveName} ${runConfig.artifacts.join(' ')} + else + echo "Error: ${runConfig.archiveCmd} is not a valid executable!" + exit 2 """ archiveArtifacts artifacts: archiveName, followSymlinks: false body() -- 2.45.2 From 3ccc50ec5d09148bcd8578dc9d4823b395324c94 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 05:09:53 -0800 Subject: [PATCH 25/32] Fixes for sandbox --- vars/buildStep.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/buildStep.groovy b/vars/buildStep.groovy index 2339de2..3fbdcd9 100644 --- a/vars/buildStep.groovy +++ b/vars/buildStep.groovy @@ -21,7 +21,7 @@ void call(Map config = [:], Closure body) { error("ERROR: File ${runConfig.buildTest} does not exist in workspace.") } if (runConfig.saveArtifacts) { - artifactsList = runConfig.artifacts.inspect().replaceAll('[\\[\\]\'\"]', '') + artifactsList = runConfig.artifacts.join(',') archiveArtifacts artifacts: artifactsList, followSymlinks: false } body() -- 2.45.2 From 107d2c6d69c6b5ff595fd140d5d387f27e7f5804 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 05:21:59 -0800 Subject: [PATCH 26/32] Fix things so closures default to empty --- vars/buildStep.groovy | 2 +- vars/checkoutStep.groovy | 2 +- vars/packageStep.groovy | 9 +++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/vars/buildStep.groovy b/vars/buildStep.groovy index 3fbdcd9..c5ffc53 100644 --- a/vars/buildStep.groovy +++ b/vars/buildStep.groovy @@ -1,6 +1,6 @@ #!/usr/bin/env groovy -void call(Map config = [:], Closure body) { +void call(Map config = [:], Closure body = { }) { Map defaults = [ saveArtifaces: false, buildTest: 'Makefile', diff --git a/vars/checkoutStep.groovy b/vars/checkoutStep.groovy index 191c797..369cf7d 100644 --- a/vars/checkoutStep.groovy +++ b/vars/checkoutStep.groovy @@ -1,6 +1,6 @@ #!/usr/bin/env groovy -void call(Map config = [:], Closure body) { +void call(Map config = [:], Closure body = { }) { Map defaults = [ stepName: 'Checkout', useJobSCM: true diff --git a/vars/packageStep.groovy b/vars/packageStep.groovy index 9c85ec4..7553a92 100644 --- a/vars/packageStep.groovy +++ b/vars/packageStep.groovy @@ -1,6 +1,6 @@ #!/usr/bin/env groovy -void call(Map config = [:], Closure body) { +void call(Map config = [:], Closure body = { }) { Map defaults = [ name: env.BUILD_TAG, archiveCmd: 'tar', @@ -16,15 +16,16 @@ void call(Map config = [:], Closure body) { if (runConfig.artifacts.size() < 1) { assert runConfig.artifacts : 'Error: No named artifacts to package!' } - archiveName = runConfig.name + separator + runConfig.tag + separator + runConfig.extension + archiveName = runConfig.name + runConfig.separator + runConfig.tag + runConfig.separator + runConfig.extension echo "Will tag result as: ${archiveName}" sh """ - if command -v "${runconfig.archiveCmd}"; then - ${runConfig.archiveCmd} ${archiveName} ${runConfig.artifacts.join(' ')} + if command -v "${runConfig.archiveCmd}"; then + ${runConfig.archiveCmd} ${runConfig.archiveParams} ${archiveName} ${runConfig.artifacts.join(' ')} else echo "Error: ${runConfig.archiveCmd} is not a valid executable!" exit 2 + fi """ archiveArtifacts artifacts: archiveName, followSymlinks: false body() -- 2.45.2 From 242748077586d924ec81312233887c238a92ea3a Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 05:28:20 -0800 Subject: [PATCH 27/32] Add publish step --- vars/checkoutStep.groovy | 1 - vars/publishStep.groovy | 12 ++++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 vars/publishStep.groovy diff --git a/vars/checkoutStep.groovy b/vars/checkoutStep.groovy index 369cf7d..569c87d 100644 --- a/vars/checkoutStep.groovy +++ b/vars/checkoutStep.groovy @@ -5,7 +5,6 @@ void call(Map config = [:], Closure body = { }) { stepName: 'Checkout', useJobSCM: true ] - echo 'Firing ...' runConfig = defaults + config stage(runConfig.stepName) { printBanner(runConfig.stepName) diff --git a/vars/publishStep.groovy b/vars/publishStep.groovy new file mode 100644 index 0000000..623366b --- /dev/null +++ b/vars/publishStep.groovy @@ -0,0 +1,12 @@ +#!/usr/bin/env groovy + +void call(Map config = [:], Closure body = { }) { + Map defaults = [ + stepName: 'Publish' + ] + runConfig = defaults + config + stage(runConfig.stepName) { + printBanner(runConfig.stepName) + body() + } +} -- 2.45.2 From 40cc08c123214c234db5275c5662b4b9b2c7ead9 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 14:40:37 -0800 Subject: [PATCH 28/32] Try using some ansi --- vars/printBanner.groovy | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/vars/printBanner.groovy b/vars/printBanner.groovy index 0de64d9..71bade7 100644 --- a/vars/printBanner.groovy +++ b/vars/printBanner.groovy @@ -1,8 +1,13 @@ void call(String stepName) { stepCorner = '+' - stepBanner = "| $stepName |" + stepBanner = "║ $stepName ║" bannerWidth = stepBanner.length() - 2 - banner = stepCorner + ('=' * bannerWidth) + stepCorner + // banner = stepCorner + ('=' * bannerWidth) + stepCorner - echo "$banner\n$stepBanner\n$banner" + top = '╔' + ('═' * bannerWidth) + '╗' + bottom = '╚' + ('═' * bannerWidth) + '╝' + + echo "$top\n$stepBanner\n$bottom" } + +// ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛ ╜ ╝ ╞ ╟ ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬ -- 2.45.2 From 4813c8c77b27937086b66721585dc3324cc338d9 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 14:48:15 -0800 Subject: [PATCH 29/32] Try some more ansi --- vars/printBanner.groovy | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/vars/printBanner.groovy b/vars/printBanner.groovy index 71bade7..dac6174 100644 --- a/vars/printBanner.groovy +++ b/vars/printBanner.groovy @@ -6,8 +6,10 @@ void call(String stepName) { top = '╔' + ('═' * bannerWidth) + '╗' bottom = '╚' + ('═' * bannerWidth) + '╝' + ansiColor('xterm') { + echo "$top\n$stepBanner\n$bottom" + } - echo "$top\n$stepBanner\n$bottom" } // ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛ ╜ ╝ ╞ ╟ ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬ -- 2.45.2 From aef9f7a4c985d5b809f21dd51e078c3ecd847c32 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 14:52:33 -0800 Subject: [PATCH 30/32] Test --- vars/printBanner.groovy | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/vars/printBanner.groovy b/vars/printBanner.groovy index dac6174..5d01068 100644 --- a/vars/printBanner.groovy +++ b/vars/printBanner.groovy @@ -6,10 +6,11 @@ void call(String stepName) { top = '╔' + ('═' * bannerWidth) + '╗' bottom = '╚' + ('═' * bannerWidth) + '╝' + red = '\\e[31m' + normal = '\\e[0m' ansiColor('xterm') { - echo "$top\n$stepBanner\n$bottom" + echo "$red$top\n$stepBanner\n$bottom$normal" } - } // ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛ ╜ ╝ ╞ ╟ ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬ -- 2.45.2 From bc7f2a85402d6296eac8077163103f12dfd83cba Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 16:59:29 -0800 Subject: [PATCH 31/32] Best we can do --- vars/printBanner.groovy | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/vars/printBanner.groovy b/vars/printBanner.groovy index 5d01068..30f4565 100644 --- a/vars/printBanner.groovy +++ b/vars/printBanner.groovy @@ -1,16 +1,28 @@ + void call(String stepName) { - stepCorner = '+' - stepBanner = "║ $stepName ║" - bannerWidth = stepBanner.length() - 2 - // banner = stepCorner + ('=' * bannerWidth) + stepCorner + red = '\033[31m' + blue = '\033[34m' + normal = '\033[0m' + + stepBanner = "║ $blue$stepName$red ║" + bannerWidth = stepName.length() + 6 top = '╔' + ('═' * bannerWidth) + '╗' bottom = '╚' + ('═' * bannerWidth) + '╝' - red = '\\e[31m' - normal = '\\e[0m' ansiColor('xterm') { echo "$red$top\n$stepBanner\n$bottom$normal" } } + // fg_black = '\x1b[30m' + // fg_red = "\x1b[31m" + // fg_green = "\x1b[32m" + // fg_yellow = "\x1b[33m" + // fg_blue = "\x1b[34m" + // fg_magenta = "\x1b[35m" + // fg_cyan = "\x1b[36m" + // fg_white = "\x1b[37m" + // fg_default = "\x1b39m" + // fg_reset = "\x1b[0m" + // ═ ║ ╒ ╓ ╔ ╕ ╖ ╗ ╘ ╙ ╚ ╛ ╜ ╝ ╞ ╟ ╠ ╡ ╢ ╣ ╤ ╥ ╦ ╧ ╨ ╩ ╪ ╫ ╬ -- 2.45.2 From 076efcde4c9abf81046f8230c8c42c51f7d75444 Mon Sep 17 00:00:00 2001 From: Jim Nicholson Date: Wed, 7 Feb 2024 18:19:26 -0800 Subject: [PATCH 32/32] Save lint options --- .groovylintrc.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.groovylintrc.json b/.groovylintrc.json index e30e5f6..f5b873d 100644 --- a/.groovylintrc.json +++ b/.groovylintrc.json @@ -1,6 +1,9 @@ { "extends": "recommended", "rules": { + "DuplicateStringLiteral": { + "enabled": false + }, "Indentation": { "enabled": false } -- 2.45.2