@@ -46,7 +46,7 @@ would be used to create all `v1.7` tags (e.g. `v1.7.0`, `v1.7.1`).
4646 for issues that won't make the cut. Check if any of them can be
4747 closed. Be aware of the issues with the [ TODO: release blocker] [ ] label.
4848 Consider reaching out to the assignee for the status update.
49- 2 . For ` master ` , change root build files to the next minor snapshot (e.g.
49+ 1 . For ` master ` , change root build files to the next minor snapshot (e.g.
5050 `` 1.8.0-SNAPSHOT `` ).
5151
5252 ``` bash
@@ -59,22 +59,22 @@ would be used to create all `v1.7` tags (e.g. `v1.7.0`, `v1.7.1`).
5959 ./gradlew build
6060 git commit -a -m " Start $MAJOR .$(( MINOR+ 1 )) .0 development cycle"
6161 ```
62- 3 . Go through PR review and submit.
63- 4 . Create the release branch starting just before your commit and push it to GitHub:
62+ 1 . Go through PR review and submit.
63+ 1 . Create the release branch starting just before your commit and push it to GitHub:
6464
6565 ``` bash
6666 git fetch upstream
6767 git checkout -b v$MAJOR .$MINOR .x \
6868 $( git log --pretty=format:%H --grep " ^Start $MAJOR .$(( MINOR+ 1 )) .0 development cycle" upstream/master) ^
6969 git push upstream v$MAJOR .$MINOR .x
7070 ```
71- 5 . Continue with Google-internal steps at go/grpc-java/releasing, but stop
71+ 1 . Continue with Google-internal steps at go/grpc-java/releasing, but stop
7272 before ` Auto releasing using kokoro ` .
73- 6 . Create a milestone for the next release.
74- 7 . Move items out of the release milestone that didn't make the cut. Issues that
73+ 1 . Create a milestone for the next release.
74+ 1 . Move items out of the release milestone that didn't make the cut. Issues that
7575 may be backported should stay in the release milestone. Treat issues with the
7676 'release blocker' label with special care.
77- 8 . Begin compiling release notes. This produces a starting point:
77+ 1 . Begin compiling release notes. This produces a starting point:
7878
7979 ``` bash
8080 echo " ## gRPC Java $MAJOR .$MINOR .0 Release Notes" && echo && \
@@ -90,12 +90,23 @@ Tagging the Release
9090-------------------
9191
92921 . Verify there are no open issues in the release milestone. Open issues should
93- either be deferred or resolved and the fix backported. Verify there are no
94- [ TODO: release blocker] [ ] nor [ TODO: backport ] [ ] issues (open or closed), or
95- that they are tracking an issue for a different branch.
96- 2 . Ensure that the Google-internal steps
93+ either be deferred or resolved and the fix backported, to atleast 2 most recent
94+ branches as a rule of thumb. Verify there are no [ TODO: release blocker] [ ] nor
95+ [ TODO: backport ] [ ] issues (open or closed), or that they are tracking an issue for
96+ a different branch. Before removing the ` TODO:backport ` label double-check to make
97+ sure that there has been no missed backport of the issue in the latest branch cut
98+ either due to
99+ 1 . Mistyping the latest minor version branch to backport it to OR
100+ 1 . Concurrent branching activities: There's a time window there where you can lose a
101+ backport where the branch didn't exist. One engineer might be making a branch cut and
102+ concurrently another engineer might be making a fix to the master branch and backporting
103+ it to only the most recent minor version branch before the branch cut currently being made.
104+ 1 . Keep a tab over the commits made on master since the branch cut, to check if any commits
105+ standout or look suspicious that it should be backported, and check with the PR author if
106+ necessary.
107+ 1 . Ensure that the Google-internal steps
97108 at go/grpc-java/releasing#before-tagging-a-release are completed.
98- 3 . For vMajor.Minor.x branch, change ` README.md ` to refer to the next release
109+ 1 . For vMajor.Minor.x branch, change ` README.md ` to refer to the next release
99110 version. _ Also_ update the version numbers for protoc if the protobuf library
100111 version was updated since the last release.
101112
@@ -110,7 +121,7 @@ Tagging the Release
110121
111122 git commit -a -m " Update README etc to reference $MAJOR .$MINOR .$PATCH "
112123 ```
113- 4 . Change root build files to remove "-SNAPSHOT" for the next release version
124+ 1 . Change root build files to remove "-SNAPSHOT" for the next release version
114125 (e.g. ` 0.7.0 ` ). Commit the result and make a tag:
115126
116127 ``` bash
@@ -121,7 +132,7 @@ Tagging the Release
121132 git commit -a -m " Bump version to $MAJOR .$MINOR .$PATCH "
122133 git tag -a v$MAJOR .$MINOR .$PATCH -m " Version $MAJOR .$MINOR .$PATCH "
123134 ```
124- 5 . Change root build files to the next snapshot version (e.g. ` 0.7.1-SNAPSHOT ` ).
135+ 1 . Change root build files to the next snapshot version (e.g. ` 0.7.1-SNAPSHOT ` ).
125136 Commit the result:
126137
127138 ``` bash
@@ -135,7 +146,7 @@ Tagging the Release
135146 git push -u origin release-v$MAJOR .$MINOR .$PATCH
136147 ```
137148 Raise a PR and set the base branch of the PR to v$MAJOR.$MINOR.x of the upstream grpc-java repo.
138- 6 . Go through PR review and push the release tag and updated release branch to
149+ 1 . Go through PR review and push the release tag and updated release branch to
139150 GitHub (DO NOT click the merge button on the GitHub page):
140151
141152 ``` bash
@@ -144,25 +155,25 @@ Tagging the Release
144155 git push upstream v$MAJOR .$MINOR .x
145156 git push upstream v$MAJOR .$MINOR .$PATCH
146157 ```
147- 7 . Close the release milestone.
158+ 1 . Close the release milestone.
148159
149- 8 . Trigger build as described in "Auto releasing using kokoro" at
160+ 1 . Trigger build as described in "Auto releasing using kokoro" at
150161 go/grpc-java/releasing.
151162
152163 It runs three jobs on Kokoro, one on each platform. See their scripts:
153164 ` linux_artifacts.sh ` , ` windows.bat ` , and ` macos.sh ` . The mvn-artifacts/
154165 outputs of each script is combined into a single folder and then processed
155166 by ` upload_artifacts.sh ` , which signs the files and uploads to Sonatype.
156167
157- 9 . Once all of the artifacts have been pushed to the staging repository, the
168+ 1 . Once all of the artifacts have been pushed to the staging repository, the
158169 repository should have been closed by ` upload_artifacts.sh ` . Closing triggers
159170 several sanity checks on the repository. If this completes successfully, the
160171 repository can then be ` released ` , which will begin the process of pushing
161172 the new artifacts to Maven Central (the staging repository will be destroyed
162173 in the process). You can see the complete process for releasing to Maven
163174 Central on the [ OSSRH site] ( https://central.sonatype.org/publish/publish-portal-ossrh-staging-api/#deploying ) .
164175
165- 10 . We have containers for each release to detect compatibility regressions with
176+ 1 . We have containers for each release to detect compatibility regressions with
166177 old releases. Generate one for the new release by following the [ GCR image
167178 generation instructions] [ gcr-image ] . Summary:
168179 ``` bash
@@ -182,9 +193,9 @@ Tagging the Release
182193
183194 # Create a PR with the `release notes: no` label and run ad-hoc test against your PR
184195 ```
185- [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
196+ [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
186197
187- 11 . Update gh-pages with the new Javadoc. Generally the file is on repo1
198+ 1 . Update gh-pages with the new Javadoc. Generally the file is on repo1
188199 15 minutes after publishing:
189200
190201 ` ` ` bash
@@ -203,16 +214,16 @@ Tagging the Release
203214
204215 Verify the current version is [live on grpc.io](https://grpc.io/grpc-java/javadoc/).
205216
206- 12 . Add [Release Notes](https://github.com/grpc/grpc-java/releases) for the new tag.
217+ 1 . Add [Release Notes](https://github.com/grpc/grpc-java/releases) for the new tag.
207218 * Make sure that any backports are reflected in the release notes.*
208219
209- 13 . Notify the Community. Post a release announcement to
220+ 1 . Notify the Community. Post a release announcement to
210221 [grpc-io](https://groups.google.com/forum/#! forum/grpc-io)
211222 (` grpc-io@googlegroups.com` ) with the title ` gRPC-Java v$MAJOR .$MINOR .$PATCH
212223 Released` . The email content should link to the GitHub release notes and
213224 include a copy of them.
214225
215- 14 . Update README.md. Cherry-pick the commit that updated the README.md into the
226+ 1 . Update README.md. Cherry-pick the commit that updated the README.md into the
216227 master branch.
217228
218229 ` ` ` bash
@@ -223,7 +234,7 @@ Tagging the Release
223234
224235 Create a PR and go through the review process
225236
226- 15 . Update version referenced by tutorials. Update ` params.grpc_vers.java` in
237+ 1 . Update version referenced by tutorials. Update ` params.grpc_vers.java` in
227238 [config.yaml](https://github.com/grpc/grpc.io/blob/master/config.yaml) of
228239 the grpc.io repository. Create a PR and go through the review process.
229240
@@ -254,3 +265,4 @@ When happy with the dependency upgrades, update the versions in `MODULE.bazel`,
254265Upgrade the ` uses:` for actions in ` .github/workflows` to newer versions. Make
255266sure to see what changed in each new major version, but it is most often just
256267requiring a newer Node.js version.
268+
0 commit comments