From 59e4b84127bc0c89bb5231212a2a3bf9ec408b8f Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 2 Dec 2021 12:32:47 -0500 Subject: [PATCH 1/9] Support MRP --- run.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/run.sh b/run.sh index 331517d..e083dca 100755 --- a/run.sh +++ b/run.sh @@ -5,8 +5,15 @@ then gh api /repos/$GITHUB_REPOSITORY/releases | jq -e -r '.[] | select(.draft == true and .name == "next") | .body' | egrep "$INTERESTING_CATEGORIES" fi export MAVEN_OPTS=-Djansi.force=true -mvn -B -V -s $GITHUB_ACTION_PATH/settings.xml -ntp -Dstyle.color=always -Dset.changelist -DaltDeploymentRepository=maven.jenkins-ci.org::default::https://repo.jenkins-ci.org/releases/ -Pquick-build -P\!consume-incrementals clean deploy -version=$(mvn -B -ntp -Dset.changelist -Dexpression=project.version -q -DforceStdout help:evaluate) -gh api -F ref=refs/tags/$version -F sha=$GITHUB_SHA /repos/$GITHUB_REPOSITORY/git/refs +if fgrep -sq changelist.format .mvn/maven.config +then # JEP-229 + mvn -B -V -s $GITHUB_ACTION_PATH/settings.xml -ntp -Dstyle.color=always -Dset.changelist -DaltDeploymentRepository=maven.jenkins-ci.org::default::https://repo.jenkins-ci.org/releases/ -Pquick-build -P\!consume-incrementals clean deploy + version=$(mvn -B -ntp -Dset.changelist -Dexpression=project.version -q -DforceStdout help:evaluate) + gh api -F ref=refs/tags/$version -F sha=$GITHUB_SHA /repos/$GITHUB_REPOSITORY/git/refs +else # MRP + mvn -B -V -s $GITHUB_ACTION_PATH/settings.xml -ntp -Dstyle.color=always -P\!consume-incrementals -Darguments=-Pquick-build validate release:prepare release:perform + git checkout HEAD^ # tagged version, rather than prepare for next development version + version=$(mvn -B -ntp -Dexpression=project.version -q -DforceStdout help:evaluate) +fi release=$(gh api /repos/$GITHUB_REPOSITORY/releases | jq -e -r '.[] | select(.draft == true and .name == "next") | .id') gh api -X PATCH -F draft=false -F name=$version -F tag_name=$version /repos/$GITHUB_REPOSITORY/releases/$release From 1c64dab7474fa69073b7ddaeacc7948a98b85c47 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 2 Dec 2021 15:57:32 -0500 Subject: [PATCH 2/9] Pass `-ntp` also to forked execution --- run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run.sh b/run.sh index e083dca..abc23d7 100755 --- a/run.sh +++ b/run.sh @@ -11,7 +11,7 @@ then # JEP-229 version=$(mvn -B -ntp -Dset.changelist -Dexpression=project.version -q -DforceStdout help:evaluate) gh api -F ref=refs/tags/$version -F sha=$GITHUB_SHA /repos/$GITHUB_REPOSITORY/git/refs else # MRP - mvn -B -V -s $GITHUB_ACTION_PATH/settings.xml -ntp -Dstyle.color=always -P\!consume-incrementals -Darguments=-Pquick-build validate release:prepare release:perform + mvn -B -V -s $GITHUB_ACTION_PATH/settings.xml -ntp -Dstyle.color=always -P\!consume-incrementals -Darguments='-Pquick-build -ntp' validate release:prepare release:perform git checkout HEAD^ # tagged version, rather than prepare for next development version version=$(mvn -B -ntp -Dexpression=project.version -q -DforceStdout help:evaluate) fi From 61ca6c8f765df335acbc9f04e483f27e1691b6f5 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 2 Dec 2021 16:00:48 -0500 Subject: [PATCH 3/9] Need to set `user.{email,name}` in order to create commits --- run.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/run.sh b/run.sh index abc23d7..3a43ce0 100755 --- a/run.sh +++ b/run.sh @@ -11,6 +11,8 @@ then # JEP-229 version=$(mvn -B -ntp -Dset.changelist -Dexpression=project.version -q -DforceStdout help:evaluate) gh api -F ref=refs/tags/$version -F sha=$GITHUB_SHA /repos/$GITHUB_REPOSITORY/git/refs else # MRP + git config user.email cd@jenkins.io + git config user.name "jenkins-maven-cd-action in $GITHUB_REPOSITORY" mvn -B -V -s $GITHUB_ACTION_PATH/settings.xml -ntp -Dstyle.color=always -P\!consume-incrementals -Darguments='-Pquick-build -ntp' validate release:prepare release:perform git checkout HEAD^ # tagged version, rather than prepare for next development version version=$(mvn -B -ntp -Dexpression=project.version -q -DforceStdout help:evaluate) From 2cde3bf6a312e8125d1694db835b84444b1dd22a Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 2 Dec 2021 16:39:59 -0500 Subject: [PATCH 4/9] Trying to set up Git push authentication via HTTPS --- run.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/run.sh b/run.sh index 3a43ce0..e9f2880 100755 --- a/run.sh +++ b/run.sh @@ -11,8 +11,14 @@ then # JEP-229 version=$(mvn -B -ntp -Dset.changelist -Dexpression=project.version -q -DforceStdout help:evaluate) gh api -F ref=refs/tags/$version -F sha=$GITHUB_SHA /repos/$GITHUB_REPOSITORY/git/refs else # MRP - git config user.email cd@jenkins.io - git config user.name "jenkins-maven-cd-action in $GITHUB_REPOSITORY" + echo >> ~/.gitconfig <> ~/.git-credentials mvn -B -V -s $GITHUB_ACTION_PATH/settings.xml -ntp -Dstyle.color=always -P\!consume-incrementals -Darguments='-Pquick-build -ntp' validate release:prepare release:perform git checkout HEAD^ # tagged version, rather than prepare for next development version version=$(mvn -B -ntp -Dexpression=project.version -q -DforceStdout help:evaluate) From 95dab7406f7a474be1344b8b85767a952287ac01 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 2 Dec 2021 16:56:59 -0500 Subject: [PATCH 5/9] debugging --- run.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/run.sh b/run.sh index e9f2880..627148f 100755 --- a/run.sh +++ b/run.sh @@ -19,6 +19,7 @@ else # MRP insteadOf = git@github.com: EOF echo https://git:$GITHUB_TOKEN@github.com >> ~/.git-credentials + git config -l # TODO debugging mvn -B -V -s $GITHUB_ACTION_PATH/settings.xml -ntp -Dstyle.color=always -P\!consume-incrementals -Darguments='-Pquick-build -ntp' validate release:prepare release:perform git checkout HEAD^ # tagged version, rather than prepare for next development version version=$(mvn -B -ntp -Dexpression=project.version -q -DforceStdout help:evaluate) From 28ee2e3a03c87c58dfcec6c240ff7bcf92999080 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 2 Dec 2021 17:16:07 -0500 Subject: [PATCH 6/9] Trying to use solely `git config` --- run.sh | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/run.sh b/run.sh index 627148f..4870312 100755 --- a/run.sh +++ b/run.sh @@ -11,14 +11,9 @@ then # JEP-229 version=$(mvn -B -ntp -Dset.changelist -Dexpression=project.version -q -DforceStdout help:evaluate) gh api -F ref=refs/tags/$version -F sha=$GITHUB_SHA /repos/$GITHUB_REPOSITORY/git/refs else # MRP - echo >> ~/.gitconfig <> ~/.git-credentials + git config --global user.email cd@jenkins.io + git config --global user.name jenkins-maven-cd-action + git config --global url.https://github.com/.insteadOf git@github.com: git config -l # TODO debugging mvn -B -V -s $GITHUB_ACTION_PATH/settings.xml -ntp -Dstyle.color=always -P\!consume-incrementals -Darguments='-Pquick-build -ntp' validate release:prepare release:perform git checkout HEAD^ # tagged version, rather than prepare for next development version From 86ee9ebf7bdcf60caf732a603df227ce8b683472 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 2 Dec 2021 17:30:43 -0500 Subject: [PATCH 7/9] Removing debug line --- run.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/run.sh b/run.sh index 4870312..56dc681 100755 --- a/run.sh +++ b/run.sh @@ -14,7 +14,6 @@ else # MRP git config --global user.email cd@jenkins.io git config --global user.name jenkins-maven-cd-action git config --global url.https://github.com/.insteadOf git@github.com: - git config -l # TODO debugging mvn -B -V -s $GITHUB_ACTION_PATH/settings.xml -ntp -Dstyle.color=always -P\!consume-incrementals -Darguments='-Pquick-build -ntp' validate release:prepare release:perform git checkout HEAD^ # tagged version, rather than prepare for next development version version=$(mvn -B -ntp -Dexpression=project.version -q -DforceStdout help:evaluate) From f0f1317d0c6eb0d3785390676d3cb40765835156 Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 2 Dec 2021 17:36:29 -0500 Subject: [PATCH 8/9] In MRP mode, apparently the release name is the version number rather than `next`? --- run.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/run.sh b/run.sh index 56dc681..9a53da3 100755 --- a/run.sh +++ b/run.sh @@ -10,6 +10,7 @@ then # JEP-229 mvn -B -V -s $GITHUB_ACTION_PATH/settings.xml -ntp -Dstyle.color=always -Dset.changelist -DaltDeploymentRepository=maven.jenkins-ci.org::default::https://repo.jenkins-ci.org/releases/ -Pquick-build -P\!consume-incrementals clean deploy version=$(mvn -B -ntp -Dset.changelist -Dexpression=project.version -q -DforceStdout help:evaluate) gh api -F ref=refs/tags/$version -F sha=$GITHUB_SHA /repos/$GITHUB_REPOSITORY/git/refs + name=next else # MRP git config --global user.email cd@jenkins.io git config --global user.name jenkins-maven-cd-action @@ -17,6 +18,7 @@ else # MRP mvn -B -V -s $GITHUB_ACTION_PATH/settings.xml -ntp -Dstyle.color=always -P\!consume-incrementals -Darguments='-Pquick-build -ntp' validate release:prepare release:perform git checkout HEAD^ # tagged version, rather than prepare for next development version version=$(mvn -B -ntp -Dexpression=project.version -q -DforceStdout help:evaluate) + name=$version # TODO why does this work differently than in JEP-229? fi -release=$(gh api /repos/$GITHUB_REPOSITORY/releases | jq -e -r '.[] | select(.draft == true and .name == "next") | .id') +release=$(gh api /repos/$GITHUB_REPOSITORY/releases | jq -e -r --arg name $name '.[] | select(.draft == true and .name == $name) | .id') gh api -X PATCH -F draft=false -F name=$version -F tag_name=$version /repos/$GITHUB_REPOSITORY/releases/$release From a9f5853364abb36a31258374e939d6e9a31aec7b Mon Sep 17 00:00:00 2001 From: Jesse Glick Date: Thu, 2 Dec 2021 18:40:45 -0500 Subject: [PATCH 9/9] `tag_name` was wrong in MRP mode --- run.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/run.sh b/run.sh index 9a53da3..7096f5e 100755 --- a/run.sh +++ b/run.sh @@ -11,6 +11,7 @@ then # JEP-229 version=$(mvn -B -ntp -Dset.changelist -Dexpression=project.version -q -DforceStdout help:evaluate) gh api -F ref=refs/tags/$version -F sha=$GITHUB_SHA /repos/$GITHUB_REPOSITORY/git/refs name=next + tag=$version else # MRP git config --global user.email cd@jenkins.io git config --global user.name jenkins-maven-cd-action @@ -19,6 +20,7 @@ else # MRP git checkout HEAD^ # tagged version, rather than prepare for next development version version=$(mvn -B -ntp -Dexpression=project.version -q -DforceStdout help:evaluate) name=$version # TODO why does this work differently than in JEP-229? + tag=$(git describe HEAD) # typically ${project.artifactId}-${version} fi release=$(gh api /repos/$GITHUB_REPOSITORY/releases | jq -e -r --arg name $name '.[] | select(.draft == true and .name == $name) | .id') -gh api -X PATCH -F draft=false -F name=$version -F tag_name=$version /repos/$GITHUB_REPOSITORY/releases/$release +gh api -X PATCH -F draft=false -F name=$version -F tag_name=$tag /repos/$GITHUB_REPOSITORY/releases/$release