forked from grpc/grpc-java
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
303 changed files
with
6,762 additions
and
1,783 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -66,7 +66,7 @@ would be used to create all `v1.7` tags (e.g. `v1.7.0`, `v1.7.1`). | |
$(git log --pretty=format:%H --grep "^Start $MAJOR.$((MINOR+1)).0 development cycle$" upstream/master)^ | ||
$ git push upstream v$MAJOR.$MINOR.x | ||
``` | ||
5. Continue with Google-internal steps at go/grpc/java/releasing, but stop | ||
5. Continue with Google-internal steps at go/grpc-java/releasing, but stop | ||
before `Auto releasing using kokoro`. | ||
6. Create a milestone for the next release. | ||
7. Move items out of the release milestone that didn't make the cut. Issues that | ||
|
@@ -91,7 +91,8 @@ Tagging the Release | |
either be deferred or resolved and the fix backported. Verify there are no | ||
[TODO:release blocker][] nor [TODO:backport][] issues (open or closed), or | ||
that they are tracking an issue for a different branch. | ||
2. Ensure that Google-internal steps completed at go/grpc/java/releasing#before-tagging-a-release. | ||
2. Ensure that the Google-internal steps | ||
at go/grpc-java/releasing#before-tagging-a-release are completed. | ||
3. For vMajor.Minor.x branch, change `README.md` to refer to the next release | ||
version. _Also_ update the version numbers for protoc if the protobuf library | ||
version was updated since the last release. | ||
|
@@ -141,39 +142,70 @@ 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 | ||
|
||
# Commit the changes | ||
git commit --all -m "[interop] Add grpc-java $MAJOR.$MINOR.$PATCH to client_matrix.py" | ||
|
||
# Create a PR with the `release notes: no` label 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 +215,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 +226,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) | ||
(`[email protected]`). 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) | ||
(`[email protected]`) 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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.