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.