-
Notifications
You must be signed in to change notification settings - Fork 209
Release Process
Artur Souza edited this page Jan 31, 2020
·
40 revisions
- Latest build in
master
branch- maven pom version includes
-SNAPSHOT
suffix - Push snapshot package to nexus repository
- maven pom version includes
- Release Candidate build in
release-X.Y
branch- maven pom version includes
X.Y.Z-rc-W
suffix - tagging
vX.Y.Z-rc-W
triggers build to publishX.Y.Z-rc-W
to nexus snapshot repository
- maven pom version includes
- Release build in
release-X.Y
branch- maven pom version MUST NOT have any suffix
- tagging
vX.Y.Z
triggers build to publishX.Y.Z
to nexus central repository
- Create
release-X.Y
branch and push
git checkout -b release-X.Y
mvn versions:set -DnewVersion=X.Y.Z-rc-W
mvn versions:commit
git commit -m "Release X.Y.Z-rc-W" -a
git push origin release-X.Y
- Prepare next release: Update version in master branch
git checkout master
git pull
git checkout -b next-release
mvn versions:set -DnewVersion=X.Y.Z-SNAPSHOT
mvn versions:commit
git commit -m "Upgrade the version to X.Y.Z-SNAPSHOT" -a
git push origin next-release
-
Prepare next release: Create PR from
next-release
branch tomaster
branch -
Tag RC version (vX.Y.Z-rc-W)
git push origin release-X.Y
git tag vX.Y.Z-rc-W
git push origin --tags
- GitHub Actions will build and publish RC pkgs to Nexus OSS repository
- Test RC builds and fix the bugs
- Repeat from step 4 to step 6 until all bugs are fixed.
- Remove suffix by using mvn command
mvn versions:set -DnewVersion=X.Y.Z
mvn versions:commit
- Push the change to
release-X.Y
git commit -m "Release X.Y.Z" -a
git push origin release-X.Y
- Create version tag and push it
git tag vX.Y.Z
git push origin --tags
- CI will release final build to central repository
Naming convention is inspired by the one used in JUnit
- Preview prior to a release candidate (optional): X.Y.Z-beta-W
- Release candidate: X.Y.Z-rc-W
- Release: X.Y.Z