You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kyuubi.apache.org by ch...@apache.org on 2023/02/21 01:48:11 UTC
[kyuubi] branch branch-1.7 updated: [KYUUBI #4385] [DOCS] Refine release process
This is an automated email from the ASF dual-hosted git repository.
chengpan pushed a commit to branch branch-1.7
in repository https://gitbox.apache.org/repos/asf/kyuubi.git
The following commit(s) were added to refs/heads/branch-1.7 by this push:
new bb7107954 [KYUUBI #4385] [DOCS] Refine release process
bb7107954 is described below
commit bb71079541fe03d2317a1180d10deefa5aaa45ad
Author: Cheng Pan <ch...@apache.org>
AuthorDate: Tue Feb 21 09:47:45 2023 +0800
[KYUUBI #4385] [DOCS] Refine release process
### _Why are the changes needed?_
Refine the release process docs, including
- rename "major release" to "feature release", the latter is more meaningful
- clarify the release manager should commit first, then go back to continue the rest release process.
### _How was this patch tested?_
- [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible
- [x] Add screenshots for manual tests if appropriate
<img width="1377" alt="image" src="https://user-images.githubusercontent.com/26535726/220105136-37b65fe6-0217-4e59-8736-9a0375da84c0.png">
- [ ] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request
Closes #4385 from pan3793/release-doc.
Closes #4385
b8c5089d [Cheng Pan] [DOCS] Refine release process
Authored-by: Cheng Pan <ch...@apache.org>
Signed-off-by: Cheng Pan <ch...@apache.org>
(cherry picked from commit 7eac6ea0f9437386d1ba2b58902269187e6a52c5)
Signed-off-by: Cheng Pan <ch...@apache.org>
---
docs/community/release.md | 46 ++++++++++++++++++++++++++++++++--------------
1 file changed, 32 insertions(+), 14 deletions(-)
diff --git a/docs/community/release.md b/docs/community/release.md
index ffbdda9c1..163c575ff 100644
--- a/docs/community/release.md
+++ b/docs/community/release.md
@@ -43,7 +43,7 @@ The release process consists of several steps:
1. Decide to release
2. Prepare for the release
-3. Cut branch off for __major__ release
+3. Cut branch off for __feature__ release
4. Build a release candidate
5. Vote on the release candidate
6. If necessary, fix any issues and go back to step 3.
@@ -153,12 +153,12 @@ gpg --keyserver hkp://keyserver.ubuntu.com --send-keys ${PUBLIC_KEY} # send publ
gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys ${PUBLIC_KEY} # verify
```
-## Cut branch if for major release
+## Cut branch if for feature release
Kyuubi use version pattern `{MAJOR_VERSION}.{MINOR_VERSION}.{PATCH_VERSION}[-{OPTIONAL_SUFFIX}]`, e.g. `1.7.0`.
-__Major Release__ means `MAJOR_VERSION` or `MINOR_VERSION` changed, and __Patch Release__ means `PATCH_VERSION` changed.
+__Feature Release__ means `MAJOR_VERSION` or `MINOR_VERSION` changed, and __Patch Release__ means `PATCH_VERSION` changed.
-The main step towards preparing a major release is to create a release branch. This is done via standard Git branching
+The main step towards preparing a feature release is to create a release branch. This is done via standard Git branching
mechanism and should be announced to the community once the branch is created.
> Note: If you are releasing a patch version, you can ignore this step.
@@ -171,29 +171,47 @@ After cutting release branch, don't forget bump version in `master` branch.
> Don't forget to switch to the release branch!
-1. Set environment variables.
+- Set environment variables.
```shell
export RELEASE_VERSION=<release version, e.g. 1.7.0>
export RELEASE_RC_NO=<RC number, e.g. 0>
+export NEXT_VERSION=<e.g. 1.7.1>
```
-2. Bump version.
+- Bump version, and create a git tag for the release candidate.
+
+Considering that other committers may merge PRs during your release period, you should accomplish the version change
+first, and then come back to the release candidate tag to continue the rest release process.
+
+The tag pattern is `v${RELEASE_VERSION}-rc${RELEASE_RC_NO}`, e.g. `v1.7.0-rc0`
+
+> NOTE: After all the voting passed, be sure to create a final tag with the pattern: `v${RELEASE_VERSION}`
```shell
+# Bump to the release version
build/mvn versions:set -DgenerateBackupPoms=false -DnewVersion="${RELEASE_VERSION}"
-
git commit -am "[RELEASE] Bump ${RELEASE_VERSION}"
-```
-3. Create a git tag for the release candidate.
+# Create tag
+git tag v${RELEASE_VERSION}-rc${RELEASE_RC_NO}
-The tag pattern is `v${RELEASE_VERSION}-rc${RELEASE_RC_NO}`, e.g. `v1.7.0-rc0`
+# Prepare for the next development version
+build/mvn versions:set -DgenerateBackupPoms=false -DnewVersion="${NEXT_VERSION}-SNAPSHOT"
+git commit -am "[RELEASE] Bump ${NEXT_VERSION}-SNAPSHOT"
-> NOTE: After all the voting passed, be sure to create a final tag with the pattern: `v${RELEASE_VERSION}`
+# Push branch to apache remote repo
+git push apache
+
+# Push tag to apache remote repo
+git push apache v${RELEASE_VERSION}-rc${RELEASE_RC_NO}
+
+# Go back to release candidate tag
+git checkout v${RELEASE_VERSION}-rc${RELEASE_RC_NO}
+```
-4. Package the release binaries & sources, and upload them to the Apache staging SVN repo. Publish jars to the Apache
- staging Maven repo.
+- Package source and binary artifacts, and upload them to the Apache staging SVN repo. Publish jars to the Apache
+ staging Maven repo.
```shell
build/release/release.sh publish
@@ -201,7 +219,7 @@ build/release/release.sh publish
To make your release available in the staging repository, you must close the staging repo in the [Apache Nexus](https://repository.apache.org/#stagingRepositories). Until you close, you can re-run deploying to staging multiple times. But once closed, it will create a new staging repo. So ensure you close this, so that the next RC (if need be) is on a new repo. Once everything is good, close the staging repository on Apache Nexus.
-5. Generate a pre-release note from GitHub for the subsequent voting.
+- Generate a pre-release note from GitHub for the subsequent voting.
Goto the [release page](https://github.com/apache/kyuubi/releases) and click the "Draft a new release" button, then it would jump to a new page to prepare the release.