-
Notifications
You must be signed in to change notification settings - Fork 209
Release Process
Charlie Stanley edited this page Aug 19, 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.
# Set the two environment variables below.
export DAPR_JAVA_SDK_RELEASE="X.Y.Z-beta"
export DAPR_JAVA_SDK_RC_COUNT="1" #Incremented count like 1, 2, 3, etc..
export DAPR_JAVA_SDK_RELEASE_BRANCH="release-${DAPR_JAVA_SDK_RELEASE}"
export DAPR_JAVA_SDK_VERSION="${DAPR_JAVA_SDK_RELEASE}-${DAPR_JAVA_SDK_RC_COUNT}"
git checkout -b $DAPR_JAVA_SDK_RELEASE_BRANCH
./scripts/update_sdk_version.sh $DAPR_JAVA_SDK_VERSION
git commit -m "Release $DAPR_JAVA_SDK_VERSION" -a
git push origin $DAPR_JAVA_SDK_RELEASE_BRANCH
git tag v$DAPR_JAVA_SDK_VERSION
git push origin --tags
-
Update the build.yaml with the latest dapr runtime commit.
-
Create
release-X.Y
branch and push
# Set the three environment variables below.
export DAPR_JAVA_SDK_RELEASE="X.Y"
export DAPR_JAVA_SDK_PATCH_VERSION="0" #Incremented count like 0, 1, 2, 3, etc..
export DAPR_JAVA_SDK_RC_COUNT="1" #Incremented count like 1, 2, 3, etc..
export DAPR_JAVA_SDK_RELEASE_BRANCH="release-${DAPR_JAVA_SDK_RELEASE}"
export DAPR_JAVA_SDK_VERSION="${DAPR_JAVA_SDK_RELEASE}.${DAPR_JAVA_SDK_PATCH_VERSION}-rc-${DAPR_JAVA_SDK_RC_COUNT}"
git checkout -b $DAPR_JAVA_SDK_RELEASE_BRANCH
./scripts/update_sdk_version.sh $DAPR_JAVA_SDK_VERSION
git commit -m "Release $DAPR_JAVA_SDK_VERSION" -a
git push origin $DAPR_JAVA_SDK_RELEASE_BRANCH
- Tag RC version (vX.Y.Z-rc-W)
git tag v$DAPR_JAVA_SDK_VERSION
git push origin --tags
- Prepare next release: Update version in master branch
# Set the two environment variables below.
export DAPR_JAVA_SDK_NEXT_RELEASE="X.Y"
export DAPR_JAVA_SDK_NEXT_PATCH_VERSION="0" #Incremented count like 0, 1, 2, 3, etc..
export DAPR_JAVA_SDK_NEXT_VERSION="${DAPR_JAVA_SDK_NEXT_RELEASE}.${DAPR_JAVA_SDK_NEXT_PATCH_VERSION}-SNAPSHOT"
git checkout master
git pull
git checkout -b next-release-${DAPR_JAVA_SDK_NEXT_VERSION}
./scripts/update_sdk_version.sh $DAPR_JAVA_SDK_NEXT_VERSION
git commit -m "Upgrade the version to ${DAPR_JAVA_SDK_NEXT_VERSION}" -a
git push origin next-release-${DAPR_JAVA_SDK_NEXT_VERSION}
-
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.
-
In case of bugs, generate new RCs.
-
Once the RC is good, remove "rc" suffix.
export DAPR_JAVA_SDK_VERSION="${DAPR_JAVA_SDK_RELEASE}.${DAPR_JAVA_SDK_PATCH_VERSION}"
git checkout $DAPR_JAVA_SDK_RELEASE_BRANCH
./scripts/update_sdk_version.sh $DAPR_JAVA_SDK_VERSION
- Push the change to
release-X.Y
git commit -m "Upgrade version to $DAPR_JAVA_SDK_VERSION" -a
git push origin $DAPR_JAVA_SDK_RELEASE_BRANCH
- Update README.md and Javadocs website
./scripts/update_docs.sh $DAPR_JAVA_SDK_VERSION
git add .
git commit -m "Generate updated javadocs for $DAPR_JAVA_SDK_VERSION"
git push origin $DAPR_JAVA_SDK_RELEASE_BRANCH
git checkout master
git pull
git checkout -b update_javadocs_$DAPR_JAVA_SDK_RELEASE_BRANCH
git cherry-pick $DAPR_JAVA_SDK_RELEASE_BRANCH
git push origin update_javadocs_$DAPR_JAVA_SDK_RELEASE_BRANCH
# Create PR into master and merge it.
- Create version tag and push it
git checkout $DAPR_JAVA_SDK_RELEASE_BRANCH
git tag v${DAPR_JAVA_SDK_VERSION}
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
- Release branch: release-X.Y
- Next release: X.Y.Z-SNAPSHOT
- RC and beta counts start with 1.