dashboard: make darwin longtest builder like others as of Go 1.21

The darwin longtest builder was added during the Go 1.21 dev cycle and
needed some development work before it would pass all tests. Disable it
on older release branches that don't have said work, and make it run on
Go 1.21 and newer release branches as a TryBot like all other longtest
builders.

This makes it consistent with other -longtest builders and will help
avoid entering broken state when backporting to future release branches.

Also remove redundant version check from windows longtest tryBot policy
functions since the version check is already there in buildsRepo policy.

For golang/go#35678.
For golang/go#37827.

Change-Id: I09c479f1be2b3635c385b504b0c86b50e65e696b
Reviewed-on: https://go-review.googlesource.com/c/build/+/492055
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
This commit is contained in:
Dmitri Shuralyov 2023-05-03 10:57:09 -04:00 коммит произвёл Gopher Robot
Родитель a2995ec378
Коммит b432fb3392
2 изменённых файлов: 35 добавлений и 18 удалений

Просмотреть файл

@ -2458,17 +2458,15 @@ func init() {
Notes: "Windows Server 2016 with go test -short=false",
tryBot: func(repo, branch, goBranch string) bool {
onReleaseBranch := strings.HasPrefix(branch, "release-branch.")
// This builder has legacy C compilers installed, suitable
// for versions of Go prior to 1.20, hence the atMostGo1
// call below. Newer (1.20 and later) will use the
// non-oldcc variant instead. See issue 35006 for more
// details.
return atMostGo1(goBranch, 19) &&
repo == "go" && onReleaseBranch // See issue 37827.
return repo == "go" && onReleaseBranch // See issue 37827.
},
buildsRepo: func(repo, branch, goBranch string) bool {
// See comment above about the atMostGo1 call below.
b := defaultPlusExpBuild(repo, branch, goBranch) &&
// This builder has legacy C compilers installed, suitable
// for versions of Go prior to 1.20, hence the atMostGo1
// call below. Newer (1.20 and later) will use the
// non-oldcc variant instead. See issue 35006 for more
// details.
atMostGo1(goBranch, 19)
if repo != "go" && !(branch == "master" && goBranch == "master") {
// For golang.org/x repos, don't test non-latest versions.
@ -2487,18 +2485,16 @@ func init() {
Notes: "Windows Server 2016 with go test -short=false",
tryBot: func(repo, branch, goBranch string) bool {
onReleaseBranch := strings.HasPrefix(branch, "release-branch.")
// This builder has modern/recent C compilers installed,
// meaning that we only want to use it with 1.20+ versions
// of Go, hence the atLeastGo1 call below; versions of Go
// prior to 1.20 will use the *-oldcc variant instead. See
// issue 35006 for more details.
return atLeastGo1(goBranch, 20) &&
repo == "go" && onReleaseBranch // See issue 37827.
return repo == "go" && onReleaseBranch // See issue 37827.
},
buildsRepo: func(repo, branch, goBranch string) bool {
// See comment above about the atMostGo1 call below.
b := atLeastGo1(goBranch, 20) &&
defaultPlusExpBuild(repo, branch, goBranch)
b := defaultPlusExpBuild(repo, branch, goBranch) &&
// This builder has modern/recent C compilers installed,
// meaning that we only want to use it with 1.20+ versions
// of Go, hence the atLeastGo1 call below; versions of Go
// prior to 1.20 will use the *-oldcc variant instead. See
// issue 35006 for more details.
atLeastGo1(goBranch, 20)
if repo != "go" && !(branch == "master" && goBranch == "master") {
// For golang.org/x repos, don't test non-latest versions.
b = false
@ -2614,8 +2610,20 @@ func init() {
Name: "darwin-amd64-longtest",
HostType: "host-darwin-amd64-13-aws",
Notes: "macOS 13 with go test -short=false",
tryBot: func(repo, branch, goBranch string) bool {
onReleaseBranch := strings.HasPrefix(branch, "release-branch.")
return repo == "go" && onReleaseBranch // See issue 37827.
},
buildsRepo: func(repo, branch, goBranch string) bool {
b := buildRepoByDefault(repo)
if repo == "go" && !atLeastGo1(goBranch, 21) {
// The builder was added during Go 1.21 dev cycle.
// It uncovered some tests that weren't passing and needed to be fixed.
// Disable the builder on older release branches unless/until it's decided
// that we should backport the needed fixes (and that the older releases
// don't have even more that needs fixing before the builder passes fully).
b = false
}
if repo != "go" && !(branch == "master" && goBranch == "master") {
// For golang.org/x repos, don't test non-latest versions.
b = false

Просмотреть файл

@ -193,6 +193,7 @@ func TestTrybots(t *testing.T) {
"linux-amd64-longtest",
"linux-arm64-longtest",
"windows-amd64-longtest",
"darwin-amd64-longtest", // Builder added during Go 1.21 dev cycle.
},
},
{
@ -707,6 +708,10 @@ func TestBuilderConfig(t *testing.T) {
{b("linux-amd64-longtest", "net"), onlyPost},
{b("linux-amd64-longtest@go1.99", "go"), both},
{b("linux-amd64-longtest@go1.99", "net"), none},
{b("darwin-amd64-longtest", "go"), onlyPost},
{b("darwin-amd64-longtest", "net"), onlyPost},
{b("darwin-amd64-longtest@go1.99", "go"), both},
{b("darwin-amd64-longtest@go1.99", "net"), none},
{b("windows-amd64-longtest", "go"), onlyPost},
{b("windows-amd64-longtest@go1.99", "go"), both},
{b("windows-amd64-longtest", "net"), onlyPost},
@ -772,6 +777,10 @@ func TestBuilderConfig(t *testing.T) {
{b("darwin-amd64-10_14@go1.21", "net"), none},
{b("darwin-amd64-10_14@go1.20", "net"), onlyPost},
// The darwin longtest builder added during the Go 1.21 dev cycle:
{b("darwin-amd64-longtest@go1.21", "go"), both},
{b("darwin-amd64-longtest@go1.20", "go"), none},
// plan9 only lived at master. We didn't support any past releases.
// But it's off for now as it's always failing.
{b("plan9-386", "go"), none}, // temporarily disabled