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

Update release guide somewhat according to 2.51.0 release experience #28836

Merged
merged 1 commit into from
Oct 6, 2023

Conversation

kennknowles
Copy link
Member

@kennknowles kennknowles commented Oct 4, 2023

This updates the release guide in a couple of major ways:

  • Fixes the process, which incorrectly combined the process of cutting the release branch with building an RC
  • Clarifies what is done by GitHub Actions and what is done by scripts
  • Eliminates some of the excessive verbosity about how to do things that script do (just read the script)

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
  • Update CHANGES.md with noteworthy changes.
  • If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md

GitHub Actions Tests Status (on master branch)

Build python source distribution and wheels
Python tests
Java tests
Go tests

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

@kennknowles
Copy link
Member Author

R: @lostluck

@github-actions
Copy link
Contributor

github-actions bot commented Oct 4, 2023

Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control

@kennknowles kennknowles force-pushed the release-guide branch 3 times, most recently from 4def0e8 to 7abb17e Compare October 5, 2023 14:20
@kennknowles
Copy link
Member Author

OK whitespace lint fixed after the Gradle 8 upgrade. I recommend reviewing the new doc as a whole and ignoring the diff largely.

FWIW I am separately adding an idempotent markdown autoformatter to the repo.

@lostluck
Copy link
Contributor

lostluck commented Oct 5, 2023

Gotta say, that the "Fixes the process, which incorrectly combined the process of stabilizing the release branch with building an RC" sounds like reverting the changes I made based on my 2.50.0 release experience. But I should actually read the whole thing first rather than make assumptions.

Just off hand, I don't see much of a difference between "stabilizing a release branch" and "cutting RC1".

@kennknowles
Copy link
Member Author

kennknowles commented Oct 5, 2023

That was a brain-o on my part. Incorrectly combined cutting the release branch with stabilizing and then cutting an RC. It has one section that covered all that. Now cutting the branch is a phase change from "preparing" to "stabilizing", which has actually been the case for years.

I do have separate sections for "stabilizing" and the mechanics of building the RC, but that is just because they are different activities - the former being a lot of communication and cherrypicks and the latter covering just all the commands and stuff you have to run.

Copy link
Contributor

@lostluck lostluck left a comment

Choose a reason for hiding this comment

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

Other than the quibling about wording on "don't attempt to stabilize the branch before cutting", mostly minor typo/formatting fixes, with a special emphasise on getting that sweet Note rendering done evenly through the doc.


## 2. Prepare for the release (~1 week before branch cut)
Copy link
Contributor

Choose a reason for hiding this comment

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

The ~1week bit was added in the last cycle because it would have been beneficial to have done these things the week prior to the release rather than Day of Cut. I know I benefit from the explicit timeframe indication.

Copy link
Member Author

Choose a reason for hiding this comment

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

Added it back.

Milestone`](https://github.com/apache/beam/milestones).
2. Add a new release. Choose the next minor version number after the version
currently underway, select the next release due date (generally 6 weeks from
today’s date) as the `Start Date`, and choose `Create Milestone`.
Copy link
Contributor

Choose a reason for hiding this comment

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

TBH I think we should, simply leave off the start date. Otherwise we get severe warnings in the UI once it's past that time, leading to just deleting the date entirely.

Copy link
Member Author

Choose a reason for hiding this comment

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

SGTM. I think I did that same thing.

----

### One-time setup instructions
- Apache ID and Password;
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- Apache ID and Password;
- Apache ID and Password

Since we don't semicolon terminate everything in this list.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

- [ ] See if https://go.dev/doc/devel/release has a newer release. Update throughout
Beam. See example at https://github.com/apache/beam/pull/27900/files
See if https://go.dev/doc/devel/release has a newer release. Update throughout
Beam. See example at https://github.com/apache/beam/pull/27900/files
Copy link
Contributor

Choose a reason for hiding this comment

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

Nit: So that change is a bit broad since it's a major Go upgrade rather than a security patch upgrade.

Technically the containers only need to have the BeamModulePlugin.groovy changed
https://github.com/apache/beam/pull/27900/files#diff-0435a83a413ec063bf7e682cadcd56776cd18fc878f197cc99a65fc231ef2047

But based on #28843 we should probably just move this value to be canonical in gradle.properties and reduce canonical locations.

Copy link
Member Author

Choose a reason for hiding this comment

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

So I figure this is a better example PR than https://github.com/apache/beam/pull/28441/files for now? And yea we should follow up by having fewer places.

Comment on lines 160 to 161
__NOTE__: When generating the key, please make sure you choose the key type as
__RSA and RSA (default)__ and key size as __4096 bit__.
Copy link
Contributor

Choose a reason for hiding this comment

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

We should change this to the "callout box" format used later in the doc. This just makes things bold. The latter one renders nicely according to the rich diff.

Suggested change
__NOTE__: When generating the key, please make sure you choose the key type as
__RSA and RSA (default)__ and key size as __4096 bit__.
> **Note**
> When generating the key, please make sure you choose the key type as
> __RSA and RSA (default)__ and key size as __4096 bit__.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

Comment on lines 707 to 708
__Tip__: Use git log to find contributors to the releases. (e.g: `git fetch
origin --tags; git log --pretty='%aN' ^v2.10.0 v2.11.0-RC1 | sort | uniq`).
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
__Tip__: Use git log to find contributors to the releases. (e.g: `git fetch
origin --tags; git log --pretty='%aN' ^v2.10.0 v2.11.0-RC1 | sort | uniq`).
> **Tip**
> Use git log to find contributors to the releases. (e.g: `git fetch
> origin --tags; git log --pretty='%aN' ^v2.10.0 v2.11.0-RC1 | sort | uniq`).

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

Comment on lines 711 to 712
__NOTE__: Make sure to include any breaking changes, even to `@Experimental`
features, all major features and bug fixes, and all known issues.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
__NOTE__: Make sure to include any breaking changes, even to `@Experimental`
features, all major features and bug fixes, and all known issues.
> **Note**:
> Make sure to include any breaking changes, even to `@Experimental`
> features, all major features and bug fixes, and all known issues.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

For example, if an issue is found in the website pull request, just correct it on the spot and the vote can continue as-is.
If there are any issues found in the release candidate, reply on the vote
thread to cancel the vote. There’s no need to wait 72 hours. Go back to
"Stabilize the Release Branch" and address the problem. However, some issues
Copy link
Contributor

Choose a reason for hiding this comment

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

Fun fact, you could in principle make this a working link, since the heading sare auto anchored.:
/contributor-docs/release-guide.md#stabilize-the-release-branch

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

versions to run all of the tests. See Python installation tips in [Developer
Wiki](https://cwiki.apache.org/confluence/display/BEAM/Python+Tips#PythonTips-InstallingPythoninterpreters).

> **Note** the community's validation means more than just running the tests
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
> **Note** the community's validation means more than just running the tests
> **Note**
> The community's validation means more than just running the tests

Copy link
Member Author

Choose a reason for hiding this comment

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

Done


#### Run validations manually

_Note_: -Prepourl and -Pver can be found in the RC vote email sent by Release Manager.
> **Note** `-Prepourl` and `-Pver` can be found in the RC vote email sent by Release Manager.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
> **Note** `-Prepourl` and `-Pver` can be found in the RC vote email sent by Release Manager.
> **Note**
> `-Prepourl` and `-Pver` can be found in the RC vote email sent by Release Manager.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done

Copy link
Member Author

@kennknowles kennknowles left a comment

Choose a reason for hiding this comment

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

Thanks for such excellent attention to detail!


## 2. Prepare for the release (~1 week before branch cut)
Copy link
Member Author

Choose a reason for hiding this comment

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

Added it back.

Milestone`](https://github.com/apache/beam/milestones).
2. Add a new release. Choose the next minor version number after the version
currently underway, select the next release due date (generally 6 weeks from
today’s date) as the `Start Date`, and choose `Create Milestone`.
Copy link
Member Author

Choose a reason for hiding this comment

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

SGTM. I think I did that same thing.

----

### One-time setup instructions
- Apache ID and Password;
Copy link
Member Author

Choose a reason for hiding this comment

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

Done

Comment on lines 160 to 161
__NOTE__: When generating the key, please make sure you choose the key type as
__RSA and RSA (default)__ and key size as __4096 bit__.
Copy link
Member Author

Choose a reason for hiding this comment

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

Done

a snippet of the Maven XML configuration block. 5. Insert this snippet
twice into your global Maven `settings.xml` file, typically
`${HOME}/.m2/settings.xml`. The end result should look like this, where
`TOKEN_NAME` and `TOKEN_PASSWORD` are your secret tokens:
Copy link
Member Author

Choose a reason for hiding this comment

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

Fixed

Comment on lines 707 to 708
__Tip__: Use git log to find contributors to the releases. (e.g: `git fetch
origin --tags; git log --pretty='%aN' ^v2.10.0 v2.11.0-RC1 | sort | uniq`).
Copy link
Member Author

Choose a reason for hiding this comment

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

Done

Comment on lines 711 to 712
__NOTE__: Make sure to include any breaking changes, even to `@Experimental`
features, all major features and bug fixes, and all known issues.
Copy link
Member Author

Choose a reason for hiding this comment

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

Done

For example, if an issue is found in the website pull request, just correct it on the spot and the vote can continue as-is.
If there are any issues found in the release candidate, reply on the vote
thread to cancel the vote. There’s no need to wait 72 hours. Go back to
"Stabilize the Release Branch" and address the problem. However, some issues
Copy link
Member Author

Choose a reason for hiding this comment

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

Done

versions to run all of the tests. See Python installation tips in [Developer
Wiki](https://cwiki.apache.org/confluence/display/BEAM/Python+Tips#PythonTips-InstallingPythoninterpreters).

> **Note** the community's validation means more than just running the tests
Copy link
Member Author

Choose a reason for hiding this comment

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

Done


#### Run validations manually

_Note_: -Prepourl and -Pver can be found in the RC vote email sent by Release Manager.
> **Note** `-Prepourl` and `-Pver` can be found in the RC vote email sent by Release Manager.
Copy link
Member Author

Choose a reason for hiding this comment

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

Done

@kennknowles kennknowles merged commit af9da31 into apache:master Oct 6, 2023
4 checks passed
@kennknowles kennknowles deleted the release-guide branch October 6, 2023 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants