-
Notifications
You must be signed in to change notification settings - Fork 8
Release guide
Assume that your git 'origin' remote is http://github.com/diennea/carapaceproxy
git remote -v
Set up and cache Github credentials (you need to have committer privileges on this repository):
git checkout master
git status
git push --dry-run
Ensure you have at least JDK11 and Maven 3.6.X
$JAVA_HOME/bin/java -version
mvn -version
In case you are performing new major release, for instance you are releasing 0.7.0, so current master should be 0.7.0-SNAPSHOT, new master will be 0.8.0-SNAPSHOT, you will be creating a release/0.7 branch and a v0.7.0 tag
In case you are performing a minor release, for instance you are releasing 0.7.1, you will be starting from release/0.7 branch, with version 0.7.1-SNAPSHOT, new version on that branch will be 0.7.2-SNAPSHOT and at the end you will have a v0.7.1 tag
BRANCH_NAME=release/1.0
RELEASE_DEVELOPMENT_VERSION=1.0.1-SNAPSHOT
RELEASE_VERSION=1.0.0
MASTER_DEVELOPMENT_VERSION=1.1.0-SNAPSHOT
TAG=v$RELEASE_VERSION
git checkout master
git pull --rebase
mvn release:clean
mvn release:branch -DbranchName=$BRANCH_NAME -DdevelopmentVersion=$MASTER_DEVELOPMENT_VERSION
From now you can expect:
- on master pom.xml version is MASTER_DEVELOPMENT_VERSION
- you have a release branch named BRANCH_NAME
Be sure that all fixes have been cherry-picked into the release branch. Then you can perform the hotfix release.
BRANCH_NAME=release/1.0
RELEASE_VERSION=1.0.1
RELEASE_DEVELOPMENT_VERSION=1.0.2-SNAPSHOT
TAG=v$RELEASE_VERSION
git checkout $BRANCH_NAME
git pull
git push --dry-run
git checkout $BRANCH_NAME
mvn release:prepare -DautoVersionSubmodules=true -DreleaseVersion=$RELEASE_VERSION -Dtag=$TAG -DdevelopmentVersion=$RELEASE_DEVELOPMENT_VERSION -Darguments='-DskipTests=true' -Pproduction -Dresume=false
From now you can expect:
- in BRANCH_NAME pom.xml version is RELEASE_DEVELOPMENT_VERSION
- you have a new tag named TAG
- in TAG pom.xml version is RELEASE_VERSION
git checkout $TAG
mvn clean install -Pproduction -DskipTests
On the Releases page upload carapace-server ZIP to the tag and add news and noteworthy for the release.