Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Small improvements to RELEASE.md #4447

Merged
merged 13 commits into from
Sep 6, 2023
55 changes: 42 additions & 13 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,8 @@ $ git commit --allow-empty -m "Cut for X.Y.Z"
#### Procedure for patch releases

For patch releases, typically the branch will be based off of the previous release tag, and not `upstream/main`, and the necessary patch fixes can be cherry-picked from the `upstream/main` branch.
The patch release manager is also responsible for bumping the patch version numbers as appropriate.
The patch release manager is also responsible for bumping the patch version numbers as appropriate (note comment block on the list of commands
below).

Here is an example going from `X.Y.0` to `X.Y.1`:

Expand All @@ -101,19 +102,11 @@ $ git fetch upstream
$ git checkout vX.Y.0
$ git checkout -b release/vX.Y.1
$ git cherry-pick <...>
# Edit files, updating from `X.Y.0` to `X.Y.1`, and git add them. Currently the list is:
#
# * authorization-codegen/protoc-gen-contextual-auth-wiring
# * authorization-codegen/protoc-gen-service-auth-wiring
# * buildSrc/src/main/groovy/io.deephaven.common-conventions.gradle
# * py/client-ticking/README.md
# * py/client-ticking/setup.py
# * py/client/README.md
# * py/client/pydeephaven/__init__.py
# * py/client/setup.py
# * py/embedded-server/deephaven_server/__init__.py
# * py/server/deephaven/__init__.py
# * R/rdeephaven/DESCRIPTION
# Edit files, updating from X.Y.0 to X.Y.1, and git add them.
#
# Look in the last section "Version bump in preparation of next release" for a list of
# files to update to the right version you are producing.
#
# See https://github.com/deephaven/deephaven-core/issues/3466 for future improvements to this process.
$ ...
Expand Down Expand Up @@ -244,6 +237,42 @@ Ping team, ping community, ping friends - the latest Deephaven has been released
The release branches serve a purpose for kicking off CI jobs, but aren't special in other ways.
Sometime after a release, old release branches can be safely deleted.

### 15. Version bump in preparation of the next release.

<<<<<<< HEAD
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like some git stuff actually checked in as text?

<<<<<<< HEAD?

Say we just did release 0.31.0. The next expected release is 0.32.0. We update the repository with a bump to all files that
mention the version explicitly. The current list of files that need to be updated is listed below:

```
#
# Edit files, updating from `X.Y.0` to `X.(Y+1).0`
=======
Say we just did release `0.31.0`. The next expected release is `0.32.0` We update the repository with a bump to all files that
mention the version explicitly. These files are listed below:

```
#
# Edit files for version change, updating from 0.31.0 to 0.32.0
>>>>>>> e21a62ad44a8f0c2270324167a1eab51a8464d49
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ditto.

#
authorization-codegen/protoc-gen-contextual-auth-wiring
authorization-codegen/protoc-gen-service-auth-wiring
buildSrc/src/main/groovy/io.deephaven.common-conventions.gradle
py/client-ticking/README.md
py/client-ticking/setup.py
py/client/README.md
py/client/pydeephaven/__init__.py
py/client/setup.py
py/embedded-server/deephaven_server/__init__.py
py/server/deephaven/__init__.py
R/rdeephaven/DESCRIPTION
```

This leaves the files "ready" for the next regular release, and also ensures any build done from
a developer for testing of latest is not confused with the code just released.

In the case of a patch release these would need to be updated to a different version, like from `0.31.0` to `0.31.1`.

## External dependencies

There are a few external dependencies that Deephaven manages, but they have separate release lifecycles that don't directly impact the release of the other artifacts mentioned earlier.
Expand Down