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: merge communication tasks with the main release workflow #53537

Closed
dmitshur opened this issue Jun 24, 2022 · 8 comments
Closed
Assignees
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

Now that both announcement mail and tweet tasks are ready (and, as of #47406, joined together), the next step is to append them to the end of the main release workflows that build and publish artifacts.

CC @golang/release.

@dmitshur dmitshur added the NeedsFix The path to resolution is known, but the work has not been done. label Jun 24, 2022
@dmitshur dmitshur self-assigned this Jun 24, 2022
@gopherbot gopherbot added the Builders x/build issues (builders, bots, dashboards) label Jun 24, 2022
@gopherbot gopherbot added this to the Unreleased milestone Jun 24, 2022
@dmitshur dmitshur added this to the Unreleased milestone Jun 24, 2022
@dmitshur
Copy link
Contributor Author

This enables communication parameters to be entered at the start of workflow, and no more need to manually specify versions (those are computed during the release workflows, and available for reuse):

image

@dmitshur dmitshur added this to In Progress in Go Release Team Jun 24, 2022
@gopherbot
Copy link

Change https://go.dev/cl/414034 mentions this issue: internal/workflow: make Slice method variadic

@gopherbot
Copy link

Change https://go.dev/cl/414035 mentions this issue: cmd/relui: join communication tasks in main release workflows

gopherbot pushed a commit to golang/build that referenced this issue Jun 27, 2022
Simplify API usage when the caller has multiple values they wish
to make a slice from, allowing:

	Slice([]workflow.Value{v1, v2})

To be written as:

	Slice(v1, v2)

For cases where the caller has a slice, they can do Slice(s...),
which is only 3 extra characters compared to now.

This was motivated by further uses of Slice in an upcoming CL.

For golang/go#53537.

Change-Id: I820ba6eaaa0d833259fed7bb6cc66b12b3f25611
Reviewed-on: https://go-review.googlesource.com/c/build/+/414034
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
gopherbot pushed a commit to golang/build that referenced this issue Jun 27, 2022
The next step after joining the announcement mail and tweet tasks
is to append them to the end of the main existing release workflows.

This removes the need for the human release coordinator to manually
enter the Version (and, for minor releases, Secondary Version)
parameters, since that information is already automatically computed
as part of those workflows, and can be passed along.

Since the website update is not yet integrated into the release flow,
and as an initial safety check, add another "Wait to Announce" step
that must be approved by the release coordinator, before relui proceeds
to announce a recently published Go release.

This change adds, but doesn't yet enable, this functionality; it's
currently gated on the mergeCommTasksIntoReleaseWorkflows constant.

For golang/go#53537.

Change-Id: Id9046ae3de52da5ba49e4bcecda2ca427fd0e51c
Reviewed-on: https://go-review.googlesource.com/c/build/+/414035
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
@gopherbot
Copy link

Change https://go.dev/cl/416218 mentions this issue: internal/relui: use workflow output with communications not merged

gopherbot pushed a commit to golang/build that referenced this issue Jul 7, 2022
The workflow package requires all tasks to be referenced somehow, and
they weren't if the comms tasks were disabled.

For golang/go#53537.

Change-Id: Iafb60cb9a73d8e1583456cee3e9667150259338e
Reviewed-on: https://go-review.googlesource.com/c/build/+/416218
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
@gopherbot
Copy link

Change https://go.dev/cl/419515 mentions this issue: cmd/relui: add communication tasks to the end of release workflows

@gopherbot
Copy link

Change https://go.dev/cl/419516 mentions this issue: internal/relui: support communicating about a single minor release

gopherbot pushed a commit to golang/build that referenced this issue Jul 28, 2022
CL 418789 added workflows to do a single minor release.
This adds corresponding support to the comm tasks.

Deal with the fact that the new single minor release kinds need more
communication parameters (for security information) in a verbose way
for now, and consider it as motivation to refactor the comm task API
to better fit relui's current needs in a followup change.

For golang/go#53537.

Change-Id: I99db09969151a3e83676ed2b59109011b53041c5
Reviewed-on: https://go-review.googlesource.com/c/build/+/419516
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
gopherbot pushed a commit to golang/build that referenced this issue Jul 28, 2022
The comm tasks proved to work well during the last release, so take the
next step of merging them into the main release workflow. This moves in
the direction of a Go release being fully completed by a relui workflow,
with all information necessary for the release automation to do its job
provided upfront.

For short term flexibility, keep the comm-less release workflows around
under a "[without comms]" prefix, so they're there without redeployment.
Balance it out by deleting the announce-only and tweet-only workflows
since those are the least useful by now.

For golang/go#53537.

Change-Id: I82af660c31ceb0045c953adbba9401c38245d4c0
Reviewed-on: https://go-review.googlesource.com/c/build/+/419515
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Javad Rajabzadeh <ja7ad@live.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
@dmitshur
Copy link
Contributor Author

dmitshur commented Aug 3, 2022

I'll call this done as of CL 419515, which was successfully used during the Go 1.19 release. (Filed #54240 for a small presentation issue we found.)

We can delete the separate "[without comms] ..." and "announce-and-tweet-..." workflows at a later time when we feel they're no longer useful, independently of this issue.

@dmitshur dmitshur closed this as completed Aug 3, 2022
Go Release Team automation moved this from In Progress to Done Aug 3, 2022
@gopherbot
Copy link

Change https://go.dev/cl/447295 mentions this issue: cmd/relui: remove communication-only (and build-only) workflows

gopherbot pushed a commit to golang/build that referenced this issue Nov 4, 2022
The combined build+communication workflows have superseded the previous
separate workflows.

For golang/go#53537.

Change-Id: I380501aa80fbaa32334ef54cca11649e29dfcf26
Reviewed-on: https://go-review.googlesource.com/c/build/+/447295
Reviewed-by: Carlos Amedee <carlos@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
@golang golang locked and limited conversation to collaborators Nov 2, 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