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

x/build/cmd/releasebot: consider a third -mode=wrapup mode for wrapping up a release #36086

Open
dmitshur opened this issue Dec 11, 2019 · 2 comments

Comments

@dmitshur
Copy link
Member

@dmitshur dmitshur commented Dec 11, 2019

releasebot has two modes: prepare, and release. Prepare does some preparatory work, while release performs the actual work of releasing.

We can consider adding a third mode, to be run at the end of a release and ensure humans did not forget some post-release steps.

Background

There are some tasks done by release managers after -mode=release, including sending a CL to create a golang.org/dl/goX.Y.Z command (e.g., CL 204559), making a tweet (e.g., https://twitter.com/golang/status/1190073956876849152), redeploying the golang.org website, etc. After #36075 is finished, it can also check that x/website has the latest minor release documented on the Release History page; something that used to be done as part of prepare mode.

While some of those can and should be automated over time, at this time there are non-zero such tasks. We can consider creating a third mode to be run at the very end of a release, and its purpose would be to perform checks that all the post-release steps have been completed.

In the past, we've relied on release managers not forgetting/skipping steps in the release process, and people reporting issues when we do.

/cc @cagedmantis @toothrot @bradfitz

@gopherbot
Copy link

@gopherbot gopherbot commented Dec 11, 2019

Change https://golang.org/cl/210957 mentions this issue: cmd/releasebot: check for Release History entry only for Go 1.12

gopherbot pushed a commit to golang/build that referenced this issue Dec 11, 2019
The Release History pages have moved to x/website in CL 210797.
Checking that the current release has already been documented should
no longer happen as part of -mode=prepare for Go 1.13.x and newer.

We can consider moving this type of check into a new mode that is to be
run after a release is finished. That is discussed in golang/go#36086.

Fixes golang/go#36075
Updates golang/go#36086

Change-Id: I7547ddd4032e970ac7af1572a98698868d936a48
Reviewed-on: https://go-review.googlesource.com/c/build/+/210957
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
@dmitshur
Copy link
Member Author

@dmitshur dmitshur commented Feb 26, 2020

CL 221097 deletes the following check from Work.checkDocs method, because it cannot be done as part of the prepare or release modes as it was done before (it's too soon):

// TODO: Delete this block after Go 1.14 is released (and Go 1.12 is no longer supported),
//       or consider moving it into a third -mode=wrapup. See golang.org/issue/36086.
if w.activeReleaseHistory() {
	// Check that the release is listed on the release history page.
	data, err := ioutil.ReadFile(filepath.Join(w.Dir, "gitwork", "doc/devel/release.html"))
	if err != nil {
		w.log.Panic(err)
	}
	if !strings.Contains(string(data), w.Version+" (released ") {
		w.logError("doc/devel/release.html does not document %s", w.Version)
	}
}

If a third wrapup mode is added, it can be re-added as part of that mode.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.