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/relui: the entire tree state except the VERSION file is checked during release tagging; go1.19.13 got tagged at commit prior to VERSION file update #62481

Open
cherrymui opened this issue Sep 6, 2023 · 2 comments
Labels
Builders x/build issues (builders, bots, dashboards) NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@cherrymui
Copy link
Member

For the one-off Go 1.19.13 release, it is tagged at a commit before the version CL submitted. It is tagged at caca5f1, but it should be 619b8fd.

We're going to move the tag manually to the correct commit.

Also filing an issue to investigate any logic bug in relui that could cause this.

@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Sep 6, 2023
@gopherbot gopherbot added this to the Unreleased milestone Sep 6, 2023
@dmitshur dmitshur added the NeedsFix The path to resolution is known, but the work has not been done. label Sep 6, 2023
@cherrymui
Copy link
Member Author

The tag is updated. https://go.googlesource.com/go/+/refs/tags/go1.19.13 points to the right commit now.

@dmitshur
Copy link
Contributor

dmitshur commented Sep 6, 2023

The relevant relui logic is as follows:

publishingHead := wf.Task4(wd, "Check branch state matches source archive", build.checkSourceMatch, distpackVal, branchVal, versionFile, source, wf.After(okayToTagAndPublish))
versionCL := wf.Task4(wd, "Mail version CL", version.CreateAutoSubmitVersionCL, branchVal, nextVersion, coordinators, versionFile, wf.After(publishingHead))
tagCommit = wf.Task2(wd, "Wait for version CL submission", version.AwaitCL, versionCL, publishingHead)

(source)

Publishing head was the commit just before the VERSION file. Its tree content is exactly the right content, but VERSION file isn't updated yet.

Then "Mail version CL" tries to mail and wait for a CL to land.

If that task happens result in no CL being mailed (e.g., because tip of the release branch already has the VERSION file updated to its intended content), the AwaitCL will return publishingHead as is.

It should instead make sure that the publishingHead commit contains the intended VERSION file content, and if it doesn't, read the branch head again and see if (or one if its parents) does. Otherwise it's correct for it to fail until the tip of the release branch is corrected.

(It's good that the most amount of deviation between intended tagged commit and actual tagged commit could've been the VERSION file only, and no other file. After fixing this issue, the VERSION file will also be verified and require to match exactly.)

@dmitshur dmitshur changed the title x/build/cmd/relui: go1.19.13 is tagged at wrong commit x/build/cmd/relui: the entire tree state except the VERSION file is checked during release tagging; go1.19.13 got tagged at commit prior to VERSION file update Sep 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Builders x/build issues (builders, bots, dashboards) NeedsFix The path to resolution is known, but the work has not been done.
Projects
Status: Planned
Development

No branches or pull requests

3 participants