build/types
Dmitri Shuralyov ad59fb13d3 dashboard, cmd/coordinator, maintner/maintnerd: add support for BuildConfig.MinimumGoVersion field
The new BuildConfig.MinimumGoVersion field specifies the minimum
Go version the builder is allowed to use. It's useful when some
of the builders are too new, and do not support all of the supported
Go releases (e.g., openbsd-amd64-64 and freebsd-amd64-12_0 currently
require Go 1.11 and don't work on Go 1.10).

It only needs to be set when a builder doesn't support all supported
Go releases, since we don't typically test unsupported Go releases.

To allow cmd/coordinator to use this field and filter out work it
receives from maintner/maintnerd's GoFindTryWork RPC call,
we add a GoVersion slice to apipb.GerritTryWorkItem,
and populate it in maintapi.apiService.GoFindTryWork method.

For trybots on the Go repo, the GoVersion field is determined from
the branch name. For "release-branch.goX.Y" branches, it parses out
the major-minor Go version from the branch name. For master and
other branches, it assumes the latest Go release.

For trybots on subrepos, we already have the Go version information
available, so use it directly.

Afterwards, all that's left is to modify newTrySet in cmd/coordinator
to make use of BuildConfig.MinimumGoVersion and work.GoVersion to skip
builders that are too new for the Go version that needs to be tested.

Fixes golang/go#29265

Change-Id: I50b01830647e33e37e9eb8b89e0f2518812fa44f
Reviewed-on: https://go-review.googlesource.com/c/155463
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
2019-01-25 01:45:18 +00:00
..
README.md all: add README.md files where missing, and tool to keep them updated 2017-08-02 22:17:52 +00:00
types.go dashboard, cmd/coordinator, maintner/maintnerd: add support for BuildConfig.MinimumGoVersion field 2019-01-25 01:45:18 +00:00

README.md

GoDoc

golang.org/x/build/types

Package types contains common types used by the Go continuous build system.