You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@kudu.apache.org by ab...@apache.org on 2022/05/03 23:24:02 UTC
[kudu] branch master updated: Update RELEASING doc
This is an automated email from the ASF dual-hosted git repository.
abukor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/kudu.git
The following commit(s) were added to refs/heads/master by this push:
new 9ff042b73 Update RELEASING doc
9ff042b73 is described below
commit 9ff042b734e617f1a7fac4a6a205210798dbe04e
Author: Attila Bukor <ab...@apache.org>
AuthorDate: Mon May 2 18:45:01 2022 +0200
Update RELEASING doc
Our releasing docs were a bit outdated, missing some things we do for a
release. I updated it based on my experience with the 1.16.0 release,
and also added some tips.
Change-Id: Ia33a44a2a1f526769be195796c3456fb47269863
Reviewed-on: http://gerrit.cloudera.org:8080/18466
Tested-by: Kudu Jenkins
Reviewed-by: Alexey Serbin <al...@apache.org>
---
RELEASING.adoc | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 file changed, 65 insertions(+), 7 deletions(-)
diff --git a/RELEASING.adoc b/RELEASING.adoc
index f853c58ec..a0a612ee9 100644
--- a/RELEASING.adoc
+++ b/RELEASING.adoc
@@ -39,11 +39,29 @@ to be used as `From` address when sending email messages.
. *A week before branching*: send an email to dev@kudu.apache.org to
announce that the branch will be happening, including a deadline for when new
- commits will need gatekeeper approval.
+ commits will need gatekeeper approval. Start
+ <<_compile_the_release_notes,compiling the release notes>>.
. *A day before branching*: send another email to dev@kudu.apache.org
to warn about it.
+=== Compile the release notes
+
+Start a Google doc for the release notes that is editable by anyone, then use
+https://s.apache.org to generate a short URL like kudu-1.y-rn and share it on
+dev@kudu.apache.org asking for help. The author of a commit probably knows best
+if a change belongs to the release notes, and how to succintly describe the
+change. Of course, there will be contributors who are less active and maybe not
+even monitoring the dev@ list, so you'll still have to write release notes for
+their changes.
+
+Use git shortlog -s <prev-version>..HEAD to get a list of contributions and
+add it to the doc as a summary of all commits. Note the commit hash at HEAD, as
+you'll need to generate another list between this commit and the tip when
+finally branching.
+
+Example doc: https://s.apache.org/kudu1.16rn
+
== Creating the Branch
. Create a new branch from `master`:
@@ -61,12 +79,10 @@ to be used as `From` address when sending email messages.
git log --oneline -n1
----
-. Push the branch to public remotes https://github.com/cloudera/kudu.git and
- https://gitbox.apache.org/repos/asf/kudu.git. The following example assumes
- they are called `cloudera` and `apache`.
+. Push the branch to public remote https://gitbox.apache.org/repos/asf/kudu.git.
+ The following example assumes it's called `apache`.
+
----
- git push cloudera branch-1.x.y
git push apache branch-1.x.y
----
@@ -97,12 +113,38 @@ to be used as `From` address when sending email messages.
. As needed, patches can be cherry-picked to the new branch.
+== Write the release notes
+
+. Copy the release notes from the shared doc to docs/release_notes.adoc.
+
+. Edit and format the release notes.
+
+. Get the number of contributors and the list of new contributors using the
+ following command, and add them to the contributors section (see
+ link:https://kudu.apache.org/releases/1.16.0/docs/release_notes.html#rn_1.16.0_contributors[previous
+ release notes] for examples):
++
+----
+ export PREV="1.15.0" # the previous release
+ git shortlog -sn $PREV.. | wc -l
+ diff <(git shortlog -sn ${PREV} | cut -f 2 | sort) \
+ <(git shortlog -sn ${PREV}.. | cut -f 2 | sort) \
+ | grep -E "^>" | sed 's/>/*/'
+----
++
+. Commit the release notes to the newly created branch and submit it to gerit.
+ Use `git shortlog -sn $PREV..` to list the contributors and add them to
+ the reviewers to give everyone a chance to comment on the release notes of
+ their changes.
+
== Updating Versions in Master
. Check out the `master` branch and bump the version in `version.txt`. Don't
update `kudu-version` in `examples/java/java-example/pom.xml` yet: it should
be updated later on when release artifacts are published (see below).
+. Bump the version numbers in docs/release_notes.adoc.
+
. Commit and push that change to Gerrit.
. Notify dev@kudu.apache.org that the new branch is available (see
@@ -210,16 +252,20 @@ to be used as `From` address when sending email messages.
# Run a gpg-agent if you don't normally
gpg-agent --daemon
cd java
+ ./gradlew clean assemble
# Turn off bash history: this is to avoid exposing the credentials
# via .bash_history file.
set +o history
- ./gradlew clean uploadArchives \
+ ./gradlew --no-parallel uploadArchives \
-Psigning.gnupg.keyName=<8-character-pgp-key-id> \
-PmavenUsername='<APACHE-LDAP-USERNAME>' \
-PmavenPassword='<APACHE-LDAP-PASSWORD>'
# Turn on bash history.
set -o history
----
++
+NOTE: If `uploadArchives` is executed without `--no-parallel`, uploading a
+number of artifacts fails with "peer not authenticated" errors.
. Build and deploy new binary test JARs for the RC on macOS and Linux. Build
the Linux JAR on a CentOS 6.6 image, and build the macOS JAR on macOS
@@ -383,6 +429,17 @@ WARNING: The site *MUST NOT* be built on Mac. See the
update the website following these
<<README.adoc#deploying-changes-to-the-apache-kudu-web-site,instructions>>.
+. Build and push the Docker images (run the below command from the project
+ root).
++
+----
+ ./docker/docker-build.py --action push --platforms linux/amd64 linux/arm64
+----
++
+To push the images to Dockerhub, you need to be granted permissions by the ASF
+infra team, which you can request via an Apache JIRA ticket similar to
+link:https://issues.apache.org/jira/browse/INFRA-23166[INFRA-23166].
+
. About 24 hours after all artifacts have been published, send an email to
user@kudu.apache.org, dev@kudu.apache.org, and announce@apache.org to
announce the new release. The email should be similar to
@@ -392,7 +449,8 @@ WARNING: The site *MUST NOT* be built on Mac. See the
gmail.com service for email correspondence, follow
link:https://support.google.com/mail/answer/22370?hl=en[this guide] to add
your apache.org address to be used as `From` address when sending email
- messages.
+ messages. Also post the announcement to the blog and tweet it with the
+ link:https://twitter.com/ApacheKudu[@ApacheKudu] Twitter handle.
. Update the version number on the branch you released from back to a SNAPSHOT
for the next patch release, such as `1.6.1-SNAPSHOT` after the `1.6.0` release.