From ddc91658fc674d01ca2fa8218d225976872a4691 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= <91831478+lemeurherve@users.noreply.github.com> Date: Sat, 14 May 2022 14:39:04 +0200 Subject: [PATCH 1/3] fix: retrive only the last "next" draft release id Fixes https://github.com/jenkins-infra/pipeline-library/issues/379 --- vars/buildDockerAndPublishImage.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/buildDockerAndPublishImage.groovy b/vars/buildDockerAndPublishImage.groovy index 26aa0b306..bf3deaa04 100644 --- a/vars/buildDockerAndPublishImage.groovy +++ b/vars/buildDockerAndPublishImage.groovy @@ -196,7 +196,7 @@ def call(String imageName, Map userConfig=[:]) { fi ''' - final String release = sh(returnStdout: true, script: 'gh api ${GH_RELEASES_API_URI} | jq -e -r \'.[] | select(.draft == true and .name == "next") | .id\'').trim() + final String release = sh(returnStdout: true, script: 'gh api ${GH_RELEASES_API_URI} | jq -e -r \'.[] | select(.draft == true and .name == "next") | .id | sort_by(id) | reverse | first\'').trim() withEnv(["GH_NEXT_RELEASE_URI=${ghReleasesApiUri}/${release}"]) { sh 'gh api -X PATCH -F draft=false -F name="${TAG_NAME}" -F tag_name="${TAG_NAME}" "${GH_NEXT_RELEASE_URI}"' } // withEnv From 10514654d30da13ccd4b286cbdb779f44bc0cf73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= <91831478+lemeurherve@users.noreply.github.com> Date: Sat, 14 May 2022 15:55:25 +0200 Subject: [PATCH 2/3] fix jq expression --- vars/buildDockerAndPublishImage.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/buildDockerAndPublishImage.groovy b/vars/buildDockerAndPublishImage.groovy index bf3deaa04..2c2da5e7b 100644 --- a/vars/buildDockerAndPublishImage.groovy +++ b/vars/buildDockerAndPublishImage.groovy @@ -196,7 +196,7 @@ def call(String imageName, Map userConfig=[:]) { fi ''' - final String release = sh(returnStdout: true, script: 'gh api ${GH_RELEASES_API_URI} | jq -e -r \'.[] | select(.draft == true and .name == "next") | .id | sort_by(id) | reverse | first\'').trim() + final String release = sh(returnStdout: true, script: 'gh api ${GH_RELEASES_API_URI} | jq -e -r '. | max_by(.id) | select(.draft == true and .name == "next").id\'').trim() withEnv(["GH_NEXT_RELEASE_URI=${ghReleasesApiUri}/${release}"]) { sh 'gh api -X PATCH -F draft=false -F name="${TAG_NAME}" -F tag_name="${TAG_NAME}" "${GH_NEXT_RELEASE_URI}"' } // withEnv From 1bd151042ac53d98fd9224813474a4dc3b3b0dee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Le=20Meur?= <91831478+lemeurherve@users.noreply.github.com> Date: Sat, 14 May 2022 15:58:07 +0200 Subject: [PATCH 3/3] escape first single quote --- vars/buildDockerAndPublishImage.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/buildDockerAndPublishImage.groovy b/vars/buildDockerAndPublishImage.groovy index 2c2da5e7b..362f1074e 100644 --- a/vars/buildDockerAndPublishImage.groovy +++ b/vars/buildDockerAndPublishImage.groovy @@ -196,7 +196,7 @@ def call(String imageName, Map userConfig=[:]) { fi ''' - final String release = sh(returnStdout: true, script: 'gh api ${GH_RELEASES_API_URI} | jq -e -r '. | max_by(.id) | select(.draft == true and .name == "next").id\'').trim() + final String release = sh(returnStdout: true, script: 'gh api ${GH_RELEASES_API_URI} | jq -e -r \'. | max_by(.id) | select(.draft == true and .name == "next").id\'').trim() withEnv(["GH_NEXT_RELEASE_URI=${ghReleasesApiUri}/${release}"]) { sh 'gh api -X PATCH -F draft=false -F name="${TAG_NAME}" -F tag_name="${TAG_NAME}" "${GH_NEXT_RELEASE_URI}"' } // withEnv