Граф коммитов

1940 Коммитов

Автор SHA1 Сообщение Дата
Roland Shoemaker 0b09433995 internal/task: use authenticated git client in priv patch workflow
For golang/go#65756.

Change-Id: Iec9bfcd1ed02913323dc8e20a6b6eeb0eddf7f51
Reviewed-on: https://go-review.googlesource.com/c/build/+/566995
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-03-04 18:07:56 +00:00
Ian Lance Taylor ab586e6233 cmd/gerritbot: link to go.dev/wiki instead of GitHub wiki
This requires detecting the old version of the message,
to avoid duplicate messages.

Only lightly tested.

Fixes golang/go#65998

Change-Id: I4db91a6152d8e7b7cd24f0803e3f45bf1b2d1639
Reviewed-on: https://go-review.googlesource.com/c/build/+/568055
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Ian Lance Taylor <iant@google.com>
2024-03-01 02:10:20 +00:00
Dmitri Shuralyov 09eab47bcf dashboard: add a map for hiding builders that migrated to LUCI
This sets a path forward for hiding builders that have migrated.
Outright deleting their configuration is left for a later phase.

For golang/go#65913.
Updates golang/go#63471.

Change-Id: Icaa40cbaf5e9395ef6f82fc70a6febc2ec8bc838
Reviewed-on: https://go-review.googlesource.com/c/build/+/568196
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
2024-02-29 21:53:21 +00:00
Dmitri Shuralyov 253aa5b162 cmd/coordinator: display LUCI build results on build dashboards (part 2)
This makes the new view on by default. As before, it remains
possible to opt-out via a 'legacyonly=1' URL query parameter.

For golang/go#65913.

Change-Id: I52b0a7e206a1d8bdf4645d4e1f91cadebb446c0e
Reviewed-on: https://go-review.googlesource.com/c/build/+/568195
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
2024-02-29 21:53:19 +00:00
Dmitri Shuralyov 8eaaf2a926 cmd/coordinator: display LUCI build results on build dashboards (part 1)
This connects the pieces together, enabling the new behavior.
It can be opted-out via a 'legacyonly=1' URL query parameter.

In part 1 (this commit), show the old build.golang.org/ view
by default. Part 2 (next commit) flips the default.

For golang/go#65913.

Change-Id: I04be3b9d345b97892bb18751bf8bd717481235de
Reviewed-on: https://go-review.googlesource.com/c/build/+/567578
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-02-29 21:53:17 +00:00
Dmitri Shuralyov 79dd4f320a cmd/coordinator/internal/legacydash: add LUCI build result support
The better way to do this would've been to separate the display logic
from database reading/writing logic. But that's what the incomplete
dashboard v2 attempt is about. It's a bit too late to try to do more
here, so instead try to make minimal changes to get the job done and
make it easier to be confident it won't break existing functionality.

For golang/go#65913.

Change-Id: I8c43c25759929c8bb2c4bb18613258f4401577f9
Reviewed-on: https://go-review.googlesource.com/c/build/+/567577
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
2024-02-29 21:53:15 +00:00
Dmitri Shuralyov 8e6bb5e819 cmd/coordinator/internal/dashboard: add LUCI build result support
Make some progress on the dashboard v2 package, which is cleaner¹ and
easier to prototype changes in compared to the original legacydash v1
package. Notably, add support for displaying failing test results and
noise results (e.g., a LUCI build with INFRA_FAILURE status).

For golang/go#65913.

¹ In large part this is due to it being focused on displaying results
  only; it doesn't handle receiving build results and writing them to
  Datastore as legacydash v1 does.

Change-Id: I2f0032a275dc8d41af81865dd6ec1f0ea9ef7997
Reviewed-on: https://go-review.googlesource.com/c/build/+/567576
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-02-29 21:53:13 +00:00
Dmitri Shuralyov 8d59e02bac cmd/coordinator/internal/lucipoll: create a Go LUCI dashboard poller
Fetching builds (and builders) via the BuildBucket API isn't as quick
and inexpensive as from Datastore, so it's necessary to add a caching
layer.

Use a simple polling approach to facilitate the migration to LUCI and
make it possible to show LUCI build results on the current dashboard.

There are various ways it can be improved, but all polling options are
worse than proactively pushing test results. We'll evaluate what the
long term future needs are later, so for now avoid investing too much.

For golang/go#65913.

Change-Id: Ib131a90b1108036b1d9618ea706959cbda2a0eac
Reviewed-on: https://go-review.googlesource.com/c/build/+/567575
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-02-29 21:53:10 +00:00
Dmitri Shuralyov efa540ef33 cmd/coordinator/internal/legacydash: refactor package-scoped variables
I was on the of fence whether to take this on so late in the game; it
seems to favor slightly towards doing it anyway. This makes it easier
to see where the variables are used, and will make the future changes
easier to reason about.

For golang/go#65913.

Change-Id: I3c274d2aa7174a9fbd6be91869ce4b1da0dfecaa
Reviewed-on: https://go-review.googlesource.com/c/build/+/567499
Reviewed-by: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-02-29 21:53:08 +00:00
Dmitri Shuralyov f15cdea17d cmd/coordinator, perf/app: prepare a placeholder banner
We initially intended for a banner to show up to notify users about
a migration affecting the old dashboard. A banner turned out not to
be needed at this time. Since it was already prepared and might end
up being useful later on, add an invisible placeholder for now.

Unfortunately, it would take more refactoring than I was willing to
take on at this stage to make it possible for the unified banner to
be implemented in one place, so it is instead implemented inline in
multiple places.

For golang/go#65913.

Change-Id: I86fbf17b56711f0855e206e803eff8271019b6a8
Reviewed-on: https://go-review.googlesource.com/c/build/+/567498
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
2024-02-29 21:53:05 +00:00
Dmitri Shuralyov bf2340151f cmd/coordinator: rewrite scheme-less URLs and redirects in dev mode
This was created in preparation of removal of dashboard v2, which was
going to use a redirect. However dashboard v2 turned out to be useful
enough to warrant keeping and maintaining it.

Apply this enhancement to the local development serving path since it
is generally useful and already prepared.

For golang/go#65913.

Change-Id: I6006bfa02d512675b63773c22c9ed21d8d5b4ab4
Reviewed-on: https://go-review.googlesource.com/c/build/+/567497
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
2024-02-29 21:53:03 +00:00
Dmitri Shuralyov 9d46ba79bd cmd/coordinator: disable Kubernetes mode in local "dev" mode
Restore the local "dev" mode after the refactor in CL 422956.
The development environment doesn't have KubeServices set to
anything, so KubeServices.Location() was otherwise panicking.

While here, also do fewer things in background of "dev" mode
unless appropriate dev flags are turned on.

For golang/go#65913.

Change-Id: Ib7409c28e39f2dbf98e08a4bcbd21cd45cb81aa1
Reviewed-on: https://go-review.googlesource.com/c/build/+/567496
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
2024-02-29 21:52:59 +00:00
Roland Shoemaker 9005598d96 internal/task: add a workflow for publishing private x/ patches
This adds a workflow to relui which takes a patch from the private
internal gerrit instance for one of the golang.org/x/ repos and sends it
to the public gerrit, waits for it to be submitted, tags the repo, and
emails an announcement message to the various lists.

Requires a minor change to the HTML workflow template to allow for
non-slice textareas.

Updates golang/go#65756

Change-Id: Ica1ec5982545ddd7fff1e71bd33eb3281572017d
Reviewed-on: https://go-review.googlesource.com/c/build/+/559295
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Roland Shoemaker <roland@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2024-02-26 16:54:16 +00:00
Russell Hancox cf4ed81bb1 cmd/makemac: stop populating deprecated OSType field
Change-Id: Ib909a4b3e6745b2a26d0bf418886aa4e4cee1a48
GitHub-Last-Rev: fcca0ed8e0
GitHub-Pull-Request: golang/build#86
Reviewed-on: https://go-review.googlesource.com/c/build/+/565875
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Michael Pratt <mpratt@google.com>
2024-02-22 15:32:47 +00:00
Carlos Amedee 275c71747d cmd/gomote: add experimental flag for bootstrapping with golangbuild
This change adds an experimental flag to the gomote service which
enables bootstrapping with through the use of golangbuild.

Change-Id: Ieb6045edd23bc04bf3a253c2d19ec6d03de0a0a5
Reviewed-on: https://go-review.googlesource.com/c/build/+/565418
Auto-Submit: Carlos Amedee <carlos@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2024-02-21 19:53:46 +00:00
Michael Pratt 1396b5e040 cmd/makemac: bring up darwin 10.15 instances
Change-Id: Ia38576f3a146dfdc3c5e6013ccdc423aa327573a
Reviewed-on: https://go-review.googlesource.com/c/build/+/564876
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Michael Pratt <mpratt@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-02-16 21:51:47 +00:00
Michael Pratt 119a39015e cmd/gerritbot: migrate Cq-Include-Trybot footers
If a Cq-Include-Trybot footer appears in the GitHub PR message,
include it in the footer section of the Gerrit commit message.

This footer controls the LUCI SlowBots that run on a CL, and has no
effect if it isn't in the footer block, so it is important that we place
it in the footer specifically.

Most GitHub PR users won't add these initially, but reviewers may
request that they add them to add important SlowBots.

Though LUCI requires this be a footer, gerritbot is intentionally more
lenient and allows it anywhere in the message to try to catch simple
mistakes.

Change-Id: Ib31762765aad69e9229501fe3fe3d8f8b6b97eda
Reviewed-on: https://go-review.googlesource.com/c/build/+/564837
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-02-16 21:46:40 +00:00
Dmitri Shuralyov 933b1e0643 dashboard: drop builders that have aged out
Delete everything that runs on release-branch.go1.20 and older.
This is dead code since only Go 1.21 and higher are supported now.

Change-Id: Id5740c6a775e0eba4957348c0ee0531775a2277d
Reviewed-on: https://go-review.googlesource.com/c/build/+/564220
Reviewed-by: Than McIntosh <thanm@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-02-16 21:36:43 +00:00
Dmitri Shuralyov 96aea8ef75 cmd/relui: drop coordinator use
The coordinator was used for Go 1.20 non-distpack-based releases.
Those are gone. Remove all of the code path that will be unused.

The new advisory builders that run on LUCI run for all first-class
ports and non-first-class ports. The previous testing strategy tried
to select a single hard-coded builder (or two hard-coded builders,
one for short tests and another for long test) per first-class port,
and considered remaining Google-owned builders as advisory. There were
separate code paths for running these. With LUCI we have one code
path that covers both. Release coordinators always review advisory
failures and will make an appropriate decision whenever something
needs to be manually approved.

With this, relui no longer has a coordinator client and should keep
working after the coordinator is shut down as part of the migration
to LUCI.

Fixes golang/go#63147.

Change-Id: Icb75be762238e0ebef64da2eb58b33ac39fafb2f
Reviewed-on: https://go-review.googlesource.com/c/build/+/564219
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-02-16 21:36:05 +00:00
Carlos Amedee 68b7e3e9c0 cmd/gomote: change what is logged during a bootstrap push
The process for adding a bootstrap version of Go on gomote instances
has changed. It no longer places it in a go1.4 directory. It also
places the bootstrap version of go in a directory inside of the
working directory even though the bootstrap version of go is already
installed by CIPD for the instance. This is an intermediary step to
clarify the logging and remove non-functioning logic.

Change-Id: I46f18837b63483e8b9593865c3df8e090252a358
Reviewed-on: https://go-review.googlesource.com/c/build/+/564836
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-02-16 21:09:47 +00:00
Cherry Mui ffe385f2f0 cmd/watchflakes: add a tool to detect flaky failures on LUCI dashboards
Port watchflakes to LUCI. Query LUCI build results instead of
build.golang.org.

Partly based on Russ's CL 432403 (old watchflakes).

Change-Id: I8191e92858349f0d8310d31dc31ccb9cc578bf7f
Reviewed-on: https://go-review.googlesource.com/c/build/+/557115
Reviewed-by: Michael Knyszek <mknyszek@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-02-16 18:25:52 +00:00
Carlos Amedee ac6cf185fb gomote: cope with non-interactive git check-ignore
For whatever reason, Git on macOS (both Xcode-provided and Google-provided)
does not respect GIT_FLUSH=1. Stop using git check-ignore
interactively.

based on Russ's CL 557755.

Fixes golang/go#65683

Change-Id: Ie46294f8392ca7b65eabb360a7d504b809c45b08
Reviewed-on: https://go-review.googlesource.com/c/build/+/563515
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-02-13 14:40:49 +00:00
Michael Pratt 39f86e91cb cmd/makemac: add full instance management to makemac
Currently makemac is extremely minimal, all it does is renew existing
leases.  It does not attempt to detect broken leases or create new
leases. Over time as leases disappear for various reasons, the pool
slowly dwindles, and a human must come along and add new leases.

Extend makemac to perform complete lifecycle management. config.go
specifies the desired count of each image type, and makemac attempts
to maintain that many healthy leases.

There are several different ways that a lease may be unhealthy:

It may fail initial boot. If it fails to connect to the hypervisor,
MacService will automatically remove it eventually. If it connects to
the hypervisor, but not to LUCI, then it will appear healthy in
MacService but be missing from swarming.

It may succeed initial boot and successfully connect to LUCI, but
eventually freeze, crash, etc. This case will appears as a "dead" bot
on LUCI, and may or may not be automatically removed from MacService
depending on the nature of the freeze/crash.

makemac attempts to detect and handle all of these cases. For example,
if LUCI reports a bot as "dead", but MacService still reports it as
alive, makemac will destroy the lease.

Since makemac can now perform destructive actions, we need to add a
bit more safety. Leases created by makemac will set the MacService
lease "project name" to "makemac". The "project name" is effectively
just a tag on the lease.  makemac will only operate on leases with the
"makemac" project. All other leases (such as those manually created by
a human) will be left alone.

Image updates can be performed by changing the image SHA in config.go.
handleObsoleteLeases will automatically destroy old leases using the
old image on the next run.

Change-Id: I9bc53cb5812784adbb5cacf9fb224d64d063c089
Reviewed-on: https://go-review.googlesource.com/c/build/+/562399
Auto-Submit: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-02-08 20:44:54 +00:00
Michael Pratt ca189a889e cmd/makemac: add dry run flag
Change-Id: I0d948377ff84430a53471ba577b717b3881aa221
Reviewed-on: https://go-review.googlesource.com/c/build/+/562398
Auto-Submit: Michael Pratt <mpratt@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-02-08 20:32:37 +00:00
Jonathan Amsterdam 3ba7b69dc0 cmd/relnote: fix generate arg
The generate command should take the Go repo root, not the directory
where the doc files reside.

Change-Id: I313a0f795f97dde32af7efd3171d98567557b39a
Reviewed-on: https://go-review.googlesource.com/c/build/+/562242
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-02-08 13:24:40 +00:00
Carlos Amedee b2ef4f6503 cmd/genbotcert: change the hostname error check
This changes the error message when the expected hostname does not
match the hostname used to generate the certificate signing request.

Change-Id: I06669e74255b72b4e92a42b5f3045830557777a8
Reviewed-on: https://go-review.googlesource.com/c/build/+/562016
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2024-02-06 20:09:31 +00:00
Ian Lance Taylor bbffe50893 cmd/gopherbot: correct an entry in list of deleted issues
Just happened to notice this by accident.

Change-Id: Ib3f318e682c567806475de5dec8fd5c08c187392
Reviewed-on: https://go-review.googlesource.com/c/build/+/562136
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Auto-Submit: Ian Lance Taylor <iant@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2024-02-06 18:54:24 +00:00
Carlos Amedee 4b7decea6e cmd/gomote: set LUCI as the default gomote provider
This change sets the gomote client to use LUCI as the default
gomote instance provider. A fallback option has been added.
Set the GOMOTEDISABLELUCI environmental variables equal to
true to force the client to fallback to the legacy build environment.

Fixes golang/go#64747

Change-Id: I43e91b5ccd6396317695798cfe03cece4eb2151e
Reviewed-on: https://go-review.googlesource.com/c/build/+/554055
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-01-23 17:54:07 +00:00
Jonathan Amsterdam c291ad69d6 cmd/relnote: add todo subcommand
Add a subcommand to display unfinished release notes.

For golang/go#64169.

Change-Id: Ie378a53cf89fe0cbf8425fdad5bdd0b415f33e55
Reviewed-on: https://go-review.googlesource.com/c/build/+/557035
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-01-22 18:47:08 +00:00
David Chase 57d277f7bf internal/task, relui: add posting to Mastodon
Very much a copy of the code for Twitter, except that it uses
a 3rd party package to handle posting.  Some of the common code
was moved into a new function.

Also includes an end-to-end test for by-hand use that will send a
Mastodon DM to a specified account.  This test requires access
to the cloud secrets and will skip if it lacks either those
secrets or the command line flag.

Fixes golang/go#65046.

Change-Id: Ie7606242766f36fecd5b15acc3c995c046098079
Reviewed-on: https://go-review.googlesource.com/c/build/+/554375
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-01-22 18:33:34 +00:00
Jonathan Amsterdam f9bf484fdd cmd/relnote: adjust args to generate
With no command-line arguments, the generate subcommand uses
runtime.GOROOT. It can also take an optional argument which is the
directory to use. I found that helpful for testing.

For golang/go#64169.

Change-Id: I49b0e43c7c3bdf882654fdc430cf64c713289b33
Reviewed-on: https://go-review.googlesource.com/c/build/+/556976
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-01-20 04:51:07 +00:00
Jonathan Amsterdam 4f923931d3 relnote,cmd/relnote: address previous CL comments
- Add usage for cmd/relnote that describes subcommands.

- Improve relnote.Merge documentation.

For golang/go#64169.

Change-Id: I650381cc5a0c6704397069383c61a6e4c0a50fef
Reviewed-on: https://go-review.googlesource.com/c/build/+/556875
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-01-20 04:50:44 +00:00
Dmitri Shuralyov f1550ea5af cmd/gorebuild: report files missing from posted archive better
The "missing from posted archive" case was checking the wrong variable
and could never trigger. Fortunately, it's fairly harmless, as missing
files would still be caught by gorebuild thanks to check hitting a nil
pointer dereference trying to compare the missing file.

Check the right variable to fix the panic, and print the intended text.

For golang/go#57120.
For golang/go#58884.

Change-Id: I4560a9cc6c53bca37283c004826d728e175a1ff1
Reviewed-on: https://go-review.googlesource.com/c/build/+/556075
Reviewed-by: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-01-19 17:01:31 +00:00
Jonathan Amsterdam 34f6add658 cmd/relnote: add generate subcommand
As part of the new release note automation, the relnote command will
grow several subcommands. This is the first. It combines the
markdown fragments in the Go repo into a single file.

For golang/go#64169.

Change-Id: I71d6909f4c67f6cfd48516fef98722a5fe287f1f
Reviewed-on: https://go-review.googlesource.com/c/build/+/556163
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2024-01-18 22:43:53 +00:00
Dmitri Shuralyov 2e1eb85ccb all: use Go 1.21 for building services
Use a newer supported version.

For golang/go#64169.

Change-Id: Ice8fea55951bf1615a04aca24a870556c281877a
Reviewed-on: https://go-review.googlesource.com/c/build/+/556359
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
2024-01-17 23:47:09 +00:00
Dmitri Shuralyov 42c8533f17 internal/relui: migrate Go installer construction off old builders
Move installer construction to happen in the same place that installer
signing already happens, under the ConstructInstallerOnly build types
that CL 550320 added.

Reuse the minimal xar parser that Russ implemented in cmd/gorebuild for
extracting signed binaries (that need to be inserted into the .tar.gz)
from a signed .pkg installer. This lets us drop the Xcode dependency
for that task and have it run as part of relui on secured machines
used only for release orchestration.

Delete the unused previous code and supporting files for building
installers, since what's used now is in the internal/installer
packages that CL 550321 added.

For golang/go#63147.

Change-Id: If8b207b7e3739052bc6d5f8ac13bbe5a05b50e0c
Cq-Include-Trybots: luci.golang.try:x_build-gotip-linux-amd64-longtest-race
Reviewed-on: https://go-review.googlesource.com/c/build/+/552016
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2024-01-11 18:24:53 +00:00
Jonathan Amsterdam 2d3e831a78 cmd/relnote: fix bug in previous CL
Reverse the sense of a test.

Change-Id: Id636b81b54cf44eb51f53542b41003e52641c795
Reviewed-on: https://go-review.googlesource.com/c/build/+/555215
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
2024-01-11 10:22:21 +00:00
Jonathan Amsterdam 434676ed72 cmd/relnote: warn about unclosed proposals with CLs
Occasionally a proposal is implemented, but the associated issue isn't
closed. To ensure we don't forget to write a release note in that
case, print a warning for all unclosed proposal issues that are
mentioned by at least one CL.

For golang/go#62376.

Change-Id: I3cca9065a3dd34af3c8bbbaf9c09dcdfaad2c9e1
Reviewed-on: https://go-review.googlesource.com/c/build/+/542855
Run-TryBot: Jonathan Amsterdam <jba@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2024-01-10 16:34:10 +00:00
Carlos Amedee 610b95b96a internal/gomoteserver/ui: add HTTP redirect to gomotessh.golang.org
This change adds a redirect which is used to redirect requests from
gomotessh.golang.org to gomote.golang.org. Also add a gomote server version number to the status page.

Fixes golang/go#64746

Change-Id: Idc59be1d9945488a661271212fe357aae96459ff
Reviewed-on: https://go-review.googlesource.com/c/build/+/553717
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Carlos Amedee <carlos@golang.org>
2024-01-04 19:12:17 +00:00
Dmitri Shuralyov b67688644a cmd/gopherbot: document wiki page and where to see all tasks
Add a link to the gopherbot wiki page that documents some of the ways
that gopherbot can be interacted with.

We don't really have comprehensive documentation of all the gopherbot
tasks, and even if we did, it'd be hard to know if it's up to of date.
In practice, the source code is the best place to point people to for
now.

Add a note along those lines to the package comment.

Change-Id: Ifeb6e3875c1210417daa9c91d40567d0b928f580
Reviewed-on: https://go-review.googlesource.com/c/build/+/550377
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Sameer Ajmani <sameer@golang.org>
Reviewed-by: Sameer Ajmani <sameer@golang.org>
2023-12-19 19:48:48 +00:00
Dmitri Shuralyov 7d9d9906b3 cmd/bootstrapswarm: remove -token-file-path flag
Reuse the swarming bot's existing mechanism for determining the path
to the token file. This should eliminate the possibility of it being
set for bootstrapswarm but not the swarming bot (or vice versa).

I also considered propagating the flag value to the swarming bot but
it seemed simpler to remove this flag for now.

Change-Id: I297ad9d8b931c9059c13fda08402b72693fa4488
Reviewed-on: https://go-review.googlesource.com/c/build/+/548955
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Than McIntosh <thanm@google.com>
2023-12-11 21:12:30 +00:00
Suzy Mueller f09ccbd670 internal/relui: add task to update test repo with go release
The proxy has a test to make sure it can download modules with a
go directive for the latest version. This automatically updates
that version during the release workflow.

Change-Id: I1c9fd029294117b6896a573f737f599d18c362c2
Reviewed-on: https://go-review.googlesource.com/c/build/+/545836
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
2023-12-07 19:54:50 +00:00
Michael Pratt 2d1c9af824 cmd/makemac: keep-alive service for MacService leases
makemac is a tiny service which renews existing MacService leases on a
periodic basis to ensure that they stay alive. This is a temporary
holdover until we get proper support for MacService somewhere like
Robocrop.

For golang/go#60440.

Change-Id: Id52a39dda6bd3858e243a7ae0469ec8a85356309
Reviewed-on: https://go-review.googlesource.com/c/build/+/546495
Auto-Submit: Michael Pratt <mpratt@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2023-12-01 19:37:18 +00:00
Heschi Kreinick 9d341b133f internal/task: convert x repo tagging to use LUCI
One less thing depending on the old stuff.

The conversion is pretty straightforward. The greenness check selects a
commit at the beginning. Any builders that we want that haven't passed
get rerun with a high priority. If any of those fail, the overall
attempt fails and restarts, at which point it re-selects the commit it's
looking at. That minimizes redundant work, should get a result
relatively quickly, but still allows us to recover from a genuinely
broken build.

Note: prioritization doesn't work quite right yet because golangbuild
doesn't propagate it down to child builds. That's a separate issue.

For golang/go#63147.

Change-Id: I8db7c5a9dfcfef709915f74b7d9d0d4a4edc89bb
Reviewed-on: https://go-review.googlesource.com/c/build/+/544275
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2023-11-27 18:57:23 +00:00
Dmitri Shuralyov d83deb5735 internal/task: opt x/vuln in for updates only
x/vuln opted out of automatic tagging, but there's no reason for it not
to receive automatic updates. Also see a motivating data point captured
in https://go.dev/issue/56530#issuecomment-1342988547.

Now that there's a more fine-grained method of controlling whether to
tag a repo, move the decision there and stop ignoring the entire vuln
repo.

For golang/go#59686.
For golang/go#56530.

Change-Id: I32815b3d52d7bd2e601b4eae0290008b33eefbec
Reviewed-on: https://go-review.googlesource.com/c/build/+/525655
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2023-11-22 22:08:09 +00:00
Dmitri Shuralyov 3a561a6d5a cmd/gopherbot: consider Tricium Gerrit account to be a bot
CL 534995 added the main Go LUCI Gerrit account, but tricium findings
are reported using https://go-review.googlesource.com/dashboard/62045.

While here, try to reduce the confusion about who "reviewers" includes
by documenting it explicitly. The term is inherently ambiguous because
Gerrit UI displays "Reviewers" and "CC" as two non-overlapping groups,
but in the Gerrit API, "reviewers" includes both groups, relying on
their state being one of "REVIEWER" or "CC" to tell them apart.

Also, reviewersInMetas doesn't deal with detecting humans, so remove
stale mentions of that from its implementation and test code.

For golang/go#38906.

Change-Id: Icde413bb22b20c3336a96195fd097d8456a2ab40
Reviewed-on: https://go-review.googlesource.com/c/build/+/543755
Reviewed-by: Jorropo <jorropo.pgm@gmail.com>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2023-11-22 13:56:46 +00:00
Carlos Amedee 87bc128cfe internal/gomoteserver/ui: add the web interface
This change adds a simple web interface for the gomote server.

Fixes golang/go#64213

Change-Id: I64f37387c336e19a20d3d8587ffdb69b9bce25ad
Reviewed-on: https://go-review.googlesource.com/c/build/+/543098
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2023-11-20 16:06:16 +00:00
Carlos Amedee d74f3705ac cmd/buildlet: add an SSH server for Windows
This change adds a SSH server implementation for the buildlet when
running on Windows.

For golang/go#63991

Change-Id: I782ad73a219a42b770e0e96c5b8f1a9eeb4aa98f
Reviewed-on: https://go-review.googlesource.com/c/build/+/543096
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Auto-Submit: Carlos Amedee <carlos@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
2023-11-20 16:05:31 +00:00
Cherry Mui c376886818 cmd/racebuild: update with new builder configurations
There have been a number of updates on the builders as well as in
the Go repo. This CL updates racebuild accordingly.

Add a Skip boolean to indicate platforms that are skipped by
default. This includes openbsd, for which the upstream TSAN
support is removed (#52090), and darwin/amd64v3, for which
currently the main Go repo doesn't use.

Specify SubArch for all AMD64 platforms. So the naming and file
path match what the main Go repo uses.

openbsd-amd64-70 builder is gone. Change to openbsd-amd64-72.

LLVM repo is very large. A git checkout takes a lot of disk space.
Some builders, however, don't have much disk space. Downloading a
zip file for the source code at the particular LLVM commit, and
extracting only compiler-rt gets all what we need, with a smaller
disk space usage.

Gomote gettar no longer works for retrieving a single file
(#64195). Work around it by putting the syso file in a directory
and getting that directory.

Also, gomote gettar no longer produces the tarball to stdout. It
writes a file instead. Change the download logic accordingly.

For golang/go#64195.

Change-Id: I49724d342a9278c977eb8d3fc1b9b32ea10e0b9a
Reviewed-on: https://go-review.googlesource.com/c/build/+/543015
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Mauri de Souza Meneguzzo <mauri870@gmail.com>
Reviewed-by: Than McIntosh <thanm@google.com>
2023-11-19 20:11:39 +00:00
Heschi Kreinick cd7fd6ef1e internal/task: link to failed builds
This has been bugging me and I keep not getting to it.

For golang/go#63147.

Change-Id: I3c6c6a171fdb5d99887738f561daeaf70a0de975
Reviewed-on: https://go-review.googlesource.com/c/build/+/542655
Auto-Submit: Heschi Kreinick <heschi@google.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
2023-11-16 16:37:09 +00:00