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: compute Google Groups URL of sent announcement email #50864

Closed
dmitshur opened this issue Jan 27, 2022 · 2 comments
Closed
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Milestone

Comments

@dmitshur
Copy link
Contributor

dmitshur commented Jan 27, 2022

A part of completing the task that sends a release announcement email (#47405) is being able to tell that the email has been received by Google Groups (and moderated as needed), and determining its URL. This URL serves as the canonical announcement URL, and is currently included in the release tweet (see ReleaseTweet.Announcement).

For example, the email announcing the release of Go 1.17.6 and Go 1.16.13 was sent on Jan 6. It was successfully received, moderated, and its URL became https://groups.google.com/g/golang-announce/c/95ZD3rKn4DI/m/93cyN8F1BAAJ.

We don't find out what the final URL will be on google groups as part of sending the email, this needs to be computed afterwards, so breaking it out as a smaller issue.

Since the announcement group is highly moderated, it's likely sufficient for us to match based on subject. If the subject matches, it must be the right email:

// Input:
"Go 1.17.6 and Go 1.16.13 are released"
// Output:
"https://groups.google.com/g/golang-announce/c/95ZD3rKn4DI/m/93cyN8F1BAAJ"
"https://groups.google.com/g/golang-announce/c/95ZD3rKn4DI"  // Alternative, also okay.

// Input:
"Go 1.17 Release Candidate 3 is released"
// Output:
os.ErrNotExist or context.DeadlineExceeded  // Accurate on 2022-01-27.

It's expected that emails don't travel instantaneously, so the code would need to run in a loop that tries (with a reasonable deadline) multiple times, and once the email is received by google groups, eventually succeeds.

Options:

CC @golang/release.

@dmitshur dmitshur added Builders x/build issues (builders, bots, dashboards) NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Jan 27, 2022
@dmitshur dmitshur added this to the Unreleased milestone Jan 27, 2022
@dmitshur dmitshur changed the title x/build/cmd/relui: compute Google Groups URL of announcement email x/build/cmd/relui: compute Google Groups URL of sent announcement email Jan 27, 2022
@dmitshur dmitshur self-assigned this Jan 27, 2022
@toothrot toothrot added this to Planned in Go Release Team Feb 1, 2022
@toothrot toothrot moved this from Planned to In Progress in Go Release Team Feb 1, 2022
@dmitshur
Copy link
Contributor Author

dmitshur commented Feb 1, 2022

I've explored the aforementioned options.

There may be an API we can use, but using it has some overhead in initial setup and maintenance. Based on what I've learned, I think we can defer considing/exploring it more until a later milestone.

Parsing the HTML appears to be a more attractive immediate solution to this (to unblock #47405). I've prototyped it locally and it seems to meet the needs of this task. Unless we learn of a reason it can't work well, I'll clean it up and send a CL.

@dmitshur dmitshur added NeedsFix The path to resolution is known, but the work has not been done. and removed NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. labels Feb 1, 2022
@dmitshur dmitshur moved this from In Progress to Planned in Go Release Team Apr 5, 2022
@gopherbot
Copy link

Change https://go.dev/cl/411575 mentions this issue: cmd/relui, internal/task: add release announcement email task

@dmitshur dmitshur moved this from Planned to In Progress in Go Release Team Jun 16, 2022
Go Release Team automation moved this from In Progress to Done Jun 17, 2022
@golang golang locked and limited conversation to collaborators Jun 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Builders x/build issues (builders, bots, dashboards) FrozenDueToAge NeedsFix The path to resolution is known, but the work has not been done.
Projects
Archived in project
Development

No branches or pull requests

2 participants