aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anderson <ejona@google.com>2023-07-07 10:30:48 -0700
committerEric Anderson <ejona@google.com>2023-07-07 16:01:21 -0700
commit13ca4d5f77fbd2167dff2db677673b1d35a437bb (patch)
treec4209fdcded44e3988b1e891e934da274061838f
parent75c9daf4a1eb1645756d9d7eef3358c4a9ee7589 (diff)
downloadgrpc-grpc-java-13ca4d5f77fbd2167dff2db677673b1d35a437bb.tar.gz
RELEASING.md: Reorder contents to make it a bit more streamlined
I moved items that could be done immediately after the release up into the main release flow. I also stripped some outdated or unnecessary text to make it quicker to follow.
-rw-r--r--RELEASING.md130
1 files changed, 61 insertions, 69 deletions
diff --git a/RELEASING.md b/RELEASING.md
index 5a9b6d88f..053a9ca76 100644
--- a/RELEASING.md
+++ b/RELEASING.md
@@ -141,39 +141,67 @@ Tagging the Release
```
7. Close the release milestone.
-Build Artifacts
----------------
+8. Trigger build as described in "Auto releasing using kokoro" at
+ go/grpc/java/releasing.
+
+ It runs three jobs on Kokoro, one on each platform. See their scripts:
+ `linux_artifacts.sh`, `windows.bat`, and `macos.sh`. The mvn-artifacts/
+ outputs of each script is combined into a single folder and then processed
+ by `upload_artifacts.sh`, which signs the files and uploads to Sonatype.
+
+9. Once all of the artifacts have been pushed to the staging repository, the
+ repository should have been closed by `upload_artifacts.sh`. Closing triggers
+ several sanity checks on the repository. If this completes successfully, the
+ repository can then be `released`, which will begin the process of pushing
+ the new artifacts to Maven Central (the staging repository will be destroyed
+ in the process). You can see the complete process for releasing to Maven
+ Central on the [OSSRH site](https://central.sonatype.org/pages/releasing-the-deployment.html).
+
+10. We have containers for each release to detect compatibility regressions with
+ old releases. Generate one for the new release by following the [GCR image
+ generation instructions][gcr-image]. Summary:
+ ```bash
+ # If you haven't previously configured docker:
+ gcloud auth configure-docker
+
+ # In main grpc repo, add the new version to matrix
+ ${EDITOR:-nano -w} tools/interop_matrix/client_matrix.py
+ tools/interop_matrix/create_matrix_images.py --git_checkout --release=v$MAJOR.$MINOR.$PATCH \
+ --upload_images --language java
+ docker pull gcr.io/grpc-testing/grpc_interop_java:v$MAJOR.$MINOR.$PATCH
+ docker_image=gcr.io/grpc-testing/grpc_interop_java:v$MAJOR.$MINOR.$PATCH \
+ tools/interop_matrix/testcases/java__master
+
+ # Create a PR and run ad-hoc test against your PR
+ ```
+[gcr-image]: https://github.com/grpc/grpc/blob/master/tools/interop_matrix/README.md#step-by-step-instructions-for-adding-a-gcr-image-for-a-new-release-for-compatibility-test
+
+11. Update gh-pages with the new Javadoc. Generally the file is on repo1
+ 15 minutes after publishing:
+
+ ```bash
+ git checkout gh-pages
+ git pull --ff-only upstream gh-pages
+ rm -r javadoc/
+ wget -O grpc-all-javadoc.jar "https://repo1.maven.org/maven2/io/grpc/grpc-all/$MAJOR.$MINOR.$PATCH/grpc-all-$MAJOR.$MINOR.$PATCH-javadoc.jar"
+ unzip -d javadoc grpc-all-javadoc.jar
+ patch -p1 < ga.patch
+ rm grpc-all-javadoc.jar
+ rm -r javadoc/META-INF/
+ git add -A javadoc
+ git commit -m "Javadoc for $MAJOR.$MINOR.$PATCH"
+ ```
+
+ Push gh-pages to the main repository and verify the current version is
+ [live on grpc.io](https://grpc.io/grpc-java/javadoc/).
+
+12. Add [Release Notes](https://github.com/grpc/grpc-java/releases) for the new tag.
+ *Make sure that any backports are reflected in the release notes.*
-Trigger build as described in "Auto releasing using kokoro" at
-go/grpc/java/releasing.
-
-It runs three jobs on Kokoro, one on each platform. See their scripts:
-`linux_artifacts.sh`, `windows.bat`, and `unix.sh` (called directly for OS X;
-called within the Docker environment on Linux). The mvn-artifacts/ outputs of
-each script is combined into a single folder and then processed by
-`upload_artifacts.sh`, which signs the files and uploads to Sonatype.
-
-Releasing on Maven Central
---------------------------
-
-Once all of the artifacts have been pushed to the staging repository, the
-repository should have been closed by `upload_artifacts.sh`. Closing triggers
-several sanity checks on the repository. If this completes successfully, the
-repository can then be `released`, which will begin the process of pushing the
-new artifacts to Maven Central (the staging repository will be destroyed in the
-process). You can see the complete process for releasing to Maven Central on the
-[OSSRH site](https://central.sonatype.org/pages/releasing-the-deployment.html).
-
-Build interop container image
------------------------------
-
-We have containers for each release to detect compatibility regressions with old
-releases. Generate one for the new release by following the
-[GCR image generation instructions](https://github.com/grpc/grpc/blob/master/tools/interop_matrix/README.md#step-by-step-instructions-for-adding-a-gcr-image-for-a-new-release-for-compatibility-test).
Update README.md
----------------
-After waiting ~1 day and verifying that the release appears on [Maven
+After waiting ~1 day and verifying that the release is indexed on [Maven
Central](https://search.maven.org/search?q=g:io.grpc), cherry-pick the commit
that updated the README into the master branch.
@@ -183,14 +211,6 @@ $ git cherry-pick v$MAJOR.$MINOR.$PATCH^
$ git push --set-upstream origin bump-readme
```
-NOTE: If you add to your ~/.gitconfig the following, you don't need the
-`--set-upstream`
-
-```text
-[push]
- autoSetupRemote = true
-```
-
Create a PR and go through the review process
Update version referenced by tutorials
@@ -202,35 +222,7 @@ of the grpc.io repository.
Notify the Community
--------------------
-Finally, document and publicize the release.
-
-1. Add [Release Notes](https://github.com/grpc/grpc-java/releases) for the new tag.
- The description should include any major fixes or features since the last release.
- You may choose to add links to bugs, PRs, or commits if appropriate.
-2. Post a release announcement to [grpc-io](https://groups.google.com/forum/#!forum/grpc-io)
- (`grpc-io@googlegroups.com`). The title should be something that clearly identifies
- the release (e.g.`GRPC-Java <tag> Released`).
- - Note that there may have been backports to the release branch since you
- generated the release notes. Please verify that any backports are reflected
- in the release notes before sending them out.
-
-Update Hosted Javadoc
----------------------
-
-Now we need to update gh-pages with the new Javadoc:
-
-```bash
-git checkout gh-pages
-git pull --ff-only upstream gh-pages
-rm -r javadoc/
-wget -O grpc-all-javadoc.jar "http://search.maven.org/remotecontent?filepath=io/grpc/grpc-all/$MAJOR.$MINOR.$PATCH/grpc-all-$MAJOR.$MINOR.$PATCH-javadoc.jar"
-unzip -d javadoc grpc-all-javadoc.jar
-patch -p1 < ga.patch
-rm grpc-all-javadoc.jar
-rm -r javadoc/META-INF/
-git add -A javadoc
-git commit -m "Javadoc for $MAJOR.$MINOR.$PATCH"
-```
-
-Push gh-pages to the main repository and verify the current version is [live
-on grpc.io](https://grpc.io/grpc-java/javadoc/).
+Post a release announcement to [grpc-io](https://groups.google.com/forum/#!forum/grpc-io)
+(`grpc-io@googlegroups.com`) with the title `gRPC-Java v$MAJOR.$MINOR.$PATCH
+Released`. The email content should link to the GitHub release notes and include
+a copy of them.