From d17ff96bf581f13ab2a13b5bb4dba4b947f224b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Sat, 27 Jan 2024 17:33:16 +0100 Subject: [PATCH 1/8] chore(buildDockerAndPublishImage): annotate GitHub release with `make show` output --- vars/buildDockerAndPublishImage.groovy | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/vars/buildDockerAndPublishImage.groovy b/vars/buildDockerAndPublishImage.groovy index 2935e00c..def663f6 100644 --- a/vars/buildDockerAndPublishImage.groovy +++ b/vars/buildDockerAndPublishImage.groovy @@ -289,7 +289,19 @@ def call(String imageShortName, Map userConfig=[:]) { releaseId="$(gh api "${releasesUrl}" | jq -e -r '[ .[] | select(.draft == true and .name == "next").id] | max | select(. != null)')" if test "${releaseId}" -gt 0 then - gh api -X PATCH -F draft=false -F name="${TAG_NAME}" -F tag_name="${TAG_NAME}" "${releasesUrl}/${releaseId}" > /dev/null + body="$(gh api "${releasesUrl}/${releaseId}" | jq -e -r '.body')" + body+='
Details: + + ```yaml' + body+="$(make show | jq -r '.target')" + body+=' + ``` + +
' + echo "-------- body ---------" + echo "${body}" + echo "------ end body -------" + gh api -X PATCH -F draft=false -F name="${TAG_NAME}" -F tag_name="${TAG_NAME}" -F body="${body}" "${releasesUrl}/${releaseId}" > /dev/null fi echo "${releaseId}" ''' From 3b9e6b7b1baa1d5334b3fd6df4295d79dfb8465a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Fri, 9 Feb 2024 15:20:18 +0100 Subject: [PATCH 2/8] retrieve makecall content for make show --- vars/buildDockerAndPublishImage.groovy | 58 +++++++++++++++----------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/vars/buildDockerAndPublishImage.groovy b/vars/buildDockerAndPublishImage.groovy index def663f6..a26a1c74 100644 --- a/vars/buildDockerAndPublishImage.groovy +++ b/vars/buildDockerAndPublishImage.groovy @@ -18,7 +18,11 @@ def makecall(String action, String imageDeployName, String targetOperationSystem "IMAGE_DEPLOY_NAME=${imageDeployName}" ]) { sh 'export BUILDX_BUILDER_NAME=buildx-builder; docker buildx use "${BUILDX_BUILDER_NAME}" 2>/dev/null || docker buildx create --use --name="${BUILDX_BUILDER_NAME}"' - sh "make bake-$action" + if (action == 'retrieve-make-show') { + return sh(script: 'make show', returnStdout: true) + } else { + sh "make bake-$action" + } } } else { if (action == 'deploy') { @@ -280,32 +284,36 @@ def call(String imageShortName, Map userConfig=[:]) { ]) { String release = '' if (isUnix()) { - final String releaseScript = ''' - originUrlWithGit="$(git remote get-url origin)" - originUrl="${originUrlWithGit%.git}" - org="$(echo "${originUrl}" | cut -d'/' -f4)" - repository="$(echo "${originUrl}" | cut -d'/' -f5)" - releasesUrl="/repos/${org}/${repository}/releases" - releaseId="$(gh api "${releasesUrl}" | jq -e -r '[ .[] | select(.draft == true and .name == "next").id] | max | select(. != null)')" - if test "${releaseId}" -gt 0 - then - body="$(gh api "${releasesUrl}/${releaseId}" | jq -e -r '.body')" - body+='
Details: + final String makeShowContent = makecall('retrieve-make-show', imageName, operatingSystem, finalConfig.dockerBakeFile, finalConfig.dockerBakeTarget) + withEnv(["MAKE_SHOW_CONTENT=${makeShowContent}"]) { + final String releaseScript = ''' + originUrlWithGit="$(git remote get-url origin)" + originUrl="${originUrlWithGit%.git}" + org="$(echo "${originUrl}" | cut -d'/' -f4)" + repository="$(echo "${originUrl}" | cut -d'/' -f5)" + releasesUrl="/repos/${org}/${repository}/releases" + releaseId="$(gh api "${releasesUrl}" | jq -e -r '[ .[] | select(.draft == true and .name == "next").id] | max | select(. != null)')" + if test "${releaseId}" -gt 0 + then + body="$(gh api "${releasesUrl}/${releaseId}" | jq -e -r '.body')" + body+=' +
Details: - ```yaml' - body+="$(make show | jq -r '.target')" - body+=' - ``` + ```yaml' + body+="${MAKE_SHOW_CONTENT}" + body+=' + ``` -
' - echo "-------- body ---------" - echo "${body}" - echo "------ end body -------" - gh api -X PATCH -F draft=false -F name="${TAG_NAME}" -F tag_name="${TAG_NAME}" -F body="${body}" "${releasesUrl}/${releaseId}" > /dev/null - fi - echo "${releaseId}" - ''' - release = sh(script: releaseScript, returnStdout: true) +
' + echo "-------- body ---------" + echo "${body}" + echo "------ end body -------" + gh api -X PATCH -F draft=false -F name="${TAG_NAME}" -F tag_name="${TAG_NAME}" -F body="${body}" "${releasesUrl}/${releaseId}" > /dev/null + fi + echo "${releaseId}" + ''' + release = sh(script: releaseScript, returnStdout: true) + } } else { final String releaseScript = ''' $originUrl = (git remote get-url origin) -replace '\\.git', '' From 63df8072c9542923e9493163d8a9408085c12861 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Fri, 9 Feb 2024 15:47:43 +0100 Subject: [PATCH 3/8] improve markdown --- vars/buildDockerAndPublishImage.groovy | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/vars/buildDockerAndPublishImage.groovy b/vars/buildDockerAndPublishImage.groovy index a26a1c74..eeba066b 100644 --- a/vars/buildDockerAndPublishImage.groovy +++ b/vars/buildDockerAndPublishImage.groovy @@ -297,14 +297,16 @@ def call(String imageShortName, Map userConfig=[:]) { then body="$(gh api "${releasesUrl}/${releaseId}" | jq -e -r '.body')" body+=' -
Details: +
Settings used for this release: - ```yaml' +```yaml +' body+="${MAKE_SHOW_CONTENT}" body+=' - ``` +``` -
' +
+' echo "-------- body ---------" echo "${body}" echo "------ end body -------" From 102d3c7264ab7a75da7cf748ca53f63f7db8c9bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Fri, 9 Feb 2024 16:25:20 +0100 Subject: [PATCH 4/8] last markup improvement --- vars/buildDockerAndPublishImage.groovy | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/vars/buildDockerAndPublishImage.groovy b/vars/buildDockerAndPublishImage.groovy index eeba066b..9dd3be18 100644 --- a/vars/buildDockerAndPublishImage.groovy +++ b/vars/buildDockerAndPublishImage.groovy @@ -297,7 +297,10 @@ def call(String imageShortName, Map userConfig=[:]) { then body="$(gh api "${releasesUrl}/${releaseId}" | jq -e -r '.body')" body+=' -
Settings used for this release: + +## :memo: Release settings + +
```yaml ' @@ -307,9 +310,6 @@ def call(String imageShortName, Map userConfig=[:]) {
' - echo "-------- body ---------" - echo "${body}" - echo "------ end body -------" gh api -X PATCH -F draft=false -F name="${TAG_NAME}" -F tag_name="${TAG_NAME}" -F body="${body}" "${releasesUrl}/${releaseId}" > /dev/null fi echo "${releaseId}" From ab26d729730622f903ede881bac4c61ae55396dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Fri, 9 Feb 2024 19:04:01 +0100 Subject: [PATCH 5/8] correct markdown code block type --- vars/buildDockerAndPublishImage.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/buildDockerAndPublishImage.groovy b/vars/buildDockerAndPublishImage.groovy index 9dd3be18..0ad57434 100644 --- a/vars/buildDockerAndPublishImage.groovy +++ b/vars/buildDockerAndPublishImage.groovy @@ -302,7 +302,7 @@ def call(String imageShortName, Map userConfig=[:]) {
-```yaml +```json ' body+="${MAKE_SHOW_CONTENT}" body+=' From 3dc7fc055a31319e4239aaad7c008b7e69f4d5fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= <91831478+lemeurherve@users.noreply.github.com> Date: Sat, 10 Feb 2024 11:30:23 +0100 Subject: [PATCH 6/8] output YAML instead of JSON --- vars/buildDockerAndPublishImage.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/vars/buildDockerAndPublishImage.groovy b/vars/buildDockerAndPublishImage.groovy index 0ad57434..ab0ca9a7 100644 --- a/vars/buildDockerAndPublishImage.groovy +++ b/vars/buildDockerAndPublishImage.groovy @@ -302,9 +302,9 @@ def call(String imageShortName, Map userConfig=[:]) {
-```json +```yaml ' - body+="${MAKE_SHOW_CONTENT}" + body+="$(echo ${MAKE_SHOW_CONTENT} | yq --prettyPrint" body+=' ``` From 067d61c58b6951c231de0f08735432adfcdadd6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= Date: Sat, 10 Feb 2024 13:00:12 +0100 Subject: [PATCH 7/8] fixup missing parenthesis --- vars/buildDockerAndPublishImage.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/buildDockerAndPublishImage.groovy b/vars/buildDockerAndPublishImage.groovy index ab0ca9a7..bf89317a 100644 --- a/vars/buildDockerAndPublishImage.groovy +++ b/vars/buildDockerAndPublishImage.groovy @@ -304,7 +304,7 @@ def call(String imageShortName, Map userConfig=[:]) { ```yaml ' - body+="$(echo ${MAKE_SHOW_CONTENT} | yq --prettyPrint" + body+="$(echo ${MAKE_SHOW_CONTENT} | yq --prettyPrint)" body+=' ``` From 8769a1e215415ad480815b0a7704bb4eef187164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= <91831478+lemeurherve@users.noreply.github.com> Date: Mon, 11 Mar 2024 09:16:03 +0100 Subject: [PATCH 8/8] Update vars/buildDockerAndPublishImage.groovy --- vars/buildDockerAndPublishImage.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/buildDockerAndPublishImage.groovy b/vars/buildDockerAndPublishImage.groovy index 256da8a6..731bd160 100644 --- a/vars/buildDockerAndPublishImage.groovy +++ b/vars/buildDockerAndPublishImage.groovy @@ -303,7 +303,7 @@ def call(String imageShortName, Map userConfig=[:]) { body="$(gh api "${releasesUrl}/${releaseId}" | jq -e -r '.body')" body+=' -## :memo: Release settings +## :memo: What's in this release