-
Notifications
You must be signed in to change notification settings - Fork 209
Release Process
Artur Souza edited this page Mar 10, 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
- Optionally, release a beta version.
git checkout -b release-X.Y.Z-beta
mvn versions:set -DnewVersion=X.Y.Z-beta-Z
mvn versions:commit
# Change dapr.sdk.version in sdk-tests/pom.xml to point to X.Y.Z-beta-Z manually or use the command below:
sed -i 's/<dapr.sdk.version>.*<\/dapr.sdk.version>/<dapr.sdk.version>X.Y.Z-beta-Z<\/dapr.sdk.version>/g' sdk-tests/pom.xml
git commit -m "Release X.Y.Z-beta-Z" -a
git push origin release-X.Y.Z-beta
git tag vX.Y.Z-beta-Z
git push origin --tags
- 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
# Change dapr.sdk.version in sdk-tests/pom.xml to point to X.Y.Z-rc-W manually or use the command below:
sed -i 's/<dapr.sdk.version>.*<\/dapr.sdk.version>/<dapr.sdk.version>X.Y.Z-rc-W<\/dapr.sdk.version>/g' sdk-tests/pom.xml
git commit -m "Release X.Y.Z-rc-W" -a
git push origin release-X.Y
- Tag RC version (vX.Y.Z-rc-W)
git tag vX.Y.Z-rc-W
git push origin --tags
- 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
# Change dapr.sdk.version in sdk-tests/pom.xml to point to X.Y.Z-rc-W manually or use the command below:
sed -i 's/<dapr.sdk.version>.*<\/dapr.sdk.version>/<dapr.sdk.version>X.Y.Z-SNAPSHOT<\/dapr.sdk.version>/g' sdk-tests/pom.xml
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 -
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
# Change dapr.sdk.version in sdk-tests/pom.xml to point to X.Y.Z-rc-W manually or use the command below:
sed -i 's/<dapr.sdk.version>.*<\/dapr.sdk.version>/<dapr.sdk.version>X.Y.Z<\/dapr.sdk.version>/g' sdk-tests/pom.xml
mvn versions:commit
- Push the change to
release-X.Y
git commit -m "Release X.Y.Z" -a
git push origin release-X.Y
- Update Javadocs website
git rm -rf docs
mvn clean install
mvn site-deploy
git commit -m "Generate updated javadocs" -a
git push origin release-X.Y
git checkout master
git pull
git checkout -b update_javadocs
git cherry-pick release-X.Y
git push origin update_javadocs
# Create PR into master and merge it.
- Create version tag and push it
git checkout release-X.Y
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