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 <abu...@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 <ale...@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 d...@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 d...@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 +d...@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 d...@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 u...@kudu.apache.org, d...@kudu.apache.org, and annou...@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.