-
-
Save aneveux/e4713a6c589765434379bc52e945c517 to your computer and use it in GitHub Desktop.
Example of setting up a Jenkins plugin backport branch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
BASE=1.19 # or whatever; last release compatible with targeted core or other deps | |
BASETAG=mystuff-${BASE} # or as per http://maven.apache.org/maven-release/maven-release-plugin/prepare-mojo.html#tagNameFormat | |
FIX=abcd1234 # whatever the backportable fix was, in master or somewhere newer than $BASE | |
git checkout -b ${BASE}.x $(git log --reverse --ancestry-path --pretty=%H ${BASETAG}..master | head -1) | |
# or for JEP-305 (“Incrementals”) use: mvn versions:set-property -Dproperty=revision -DnewVersion=${BASE}.1 | |
mvn versions:set -DnewVersion=${BASE}.1-SNAPSHOT -DgenerateBackupPoms=false | |
git commit -a -m "Prepare for ${BASE}.1" | |
git push -u origin ${BASE}.x | |
git cherry-pick -x -m1 $FIX | |
mvn -B release:{prepare,perform} | |
# For JEP-229 (“CD”): | |
BASE=99 # numeric component of base commit | |
BASETAG=${BASE}.v1234deadbeef # whatever $(mvn -Dset.changelist validate) said | |
FIX=abcd1234 # as before | |
git checkout -b ${BASE}.x ${BASETAG} | |
sed -i -e 's!<version>${changelist}</version>!<version>'$BASE'.${changelist}</version>!g' {,*/}pom.xml # versions:set does not work | |
git commit -a -m "Prepare for ${BASE}.x" | |
git push -u origin ${BASE}.x | |
git cherry-pick -x -m1 $FIX | |
git push | |
# manually trigger release from 99.x branch |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment