Skip to content

Commit 43ea694

Browse files
committed
dashboard, cmd/release: remove what's unused as of Go 1.16 release
We can drop the 32-bit and 10.11 macOS builders, they're unused. Remove FreeBSD 11.1 builder, it's unused. Update freebsd-amd64-race to use the latest available FreeBSD builder. Simplify build policy and comments, removing anything that mentioned Go version 1.14 or older, since they're not relevant anymore. Drop Go 1.14 support from minSupportedMacOSVersion, and add support for the future Go 1.17 release, which will increase minimum macOS version requirement to macOS 10.13. Fixes golang/go#40562. Change-Id: I7beeec0952a516afe99a5154b22c7f25ceeb3da1 Reviewed-on: https://go-review.googlesource.com/c/build/+/293771 Trust: Dmitri Shuralyov <[email protected]> Run-TryBot: Dmitri Shuralyov <[email protected]> TryBot-Result: Go Bot <[email protected]> Reviewed-by: Carlos Amedee <[email protected]> Reviewed-by: Alexander Rakoczy <[email protected]>
1 parent 9156cb5 commit 43ea694

File tree

4 files changed

+41
-161
lines changed

4 files changed

+41
-161
lines changed

cmd/release/release.go

Lines changed: 11 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -260,19 +260,6 @@ var builds = []*Build{
260260
Arch: "arm64",
261261
Builder: "linux-arm64-packet",
262262
},
263-
{
264-
GoQuery: "< go1.15",
265-
OS: "freebsd",
266-
Arch: "386",
267-
Builder: "freebsd-386-11_1",
268-
},
269-
{
270-
GoQuery: "< go1.15",
271-
OS: "freebsd",
272-
Arch: "amd64",
273-
Race: true,
274-
Builder: "freebsd-amd64-11_1",
275-
},
276263

277264
// Test-only builds.
278265
{
@@ -864,7 +851,7 @@ func (b *Build) writeFile(name string, r io.Reader) error {
864851
}
865852

866853
// checkRelocations runs readelf on pkg/linux_amd64/runtime/cgo.a and makes sure
867-
// we don't see R_X86_64_REX_GOTPCRELX in new Go 1.15 and Go 1.14 minor releases.
854+
// we don't see R_X86_64_REX_GOTPCRELX in new Go 1.15 minor releases.
868855
// See golang.org/issue/31293 and golang.org/issue/40561#issuecomment-731482962.
869856
func (b *Build) checkRelocations(client *buildlet.Client) error {
870857
if b.OS != "linux" || b.Arch != "amd64" || b.TestOnly {
@@ -895,8 +882,7 @@ func (b *Build) checkRelocations(client *buildlet.Client) error {
895882
if !strings.Contains(got, "R_X86_64_REX_GOTPCRELX") {
896883
return fmt.Errorf("%s did not contain a R_X86_64_REX_GOTPCRELX relocation; remoteErr=%v, %s", file, remoteErr, got)
897884
}
898-
case strings.HasPrefix(*version, "go1.15"),
899-
strings.HasPrefix(*version, "go1.14"):
885+
case strings.HasPrefix(*version, "go1.15"):
900886
if strings.Contains(got, "R_X86_64_REX_GOTPCRELX") {
901887
return fmt.Errorf("%s contained a R_X86_64_REX_GOTPCRELX relocation", file)
902888
}
@@ -1012,12 +998,12 @@ func minSupportedMacOSVersion(goVer string) string {
1012998
// TODO(amedee,dmitshur,golang.org/issue/40558): Use a version package to compare versions of Go.
1013999

10141000
// The minimum supported version of macOS with each version of go:
1015-
// go1.14 - macOS 10.11
10161001
// go1.15 - macOS 10.12
10171002
// go1.16 - macOS 10.12
1018-
minMacVersion := "10.12"
1019-
if match("< go1.15", goVer) {
1020-
minMacVersion = "10.11"
1003+
// go1.17 - macOS 10.13
1004+
minMacVersion := "10.13"
1005+
if match("< go1.17beta1", goVer) {
1006+
minMacVersion = "10.12"
10211007
return minMacVersion
10221008
}
10231009
return minMacVersion
@@ -1031,18 +1017,17 @@ func match(query, goVer string) bool {
10311017
switch query {
10321018
case "": // A special case to make the zero Build.GoQuery value useful.
10331019
return true
1020+
case "< go1.17beta1":
1021+
return strings.HasPrefix(goVer, "go1.16") || strings.HasPrefix(goVer, "go1.15")
10341022
case ">= go1.16beta1":
1035-
return !strings.HasPrefix(goVer, "go1.15") && !strings.HasPrefix(goVer, "go1.14")
1023+
return !strings.HasPrefix(goVer, "go1.15")
10361024
case "< go1.16beta1":
1037-
return strings.HasPrefix(goVer, "go1.15") || strings.HasPrefix(goVer, "go1.14")
1025+
return strings.HasPrefix(goVer, "go1.15")
10381026
case ">= go1.15rc2":
10391027
// By the time this code is added, Go 1.15 RC 1 has already been released and
10401028
// won't be modified, that's why we only care about matching RC 2 and onwards.
10411029
// (We could've just done ">= go1.15", but that could be misleading in future.)
1042-
return goVer != "go1.15rc1" && !strings.HasPrefix(goVer, "go1.15beta") &&
1043-
!strings.HasPrefix(goVer, "go1.14")
1044-
case "< go1.15":
1045-
return strings.HasPrefix(goVer, "go1.14")
1030+
return goVer != "go1.15rc1" && !strings.HasPrefix(goVer, "go1.15beta")
10461031
default:
10471032
panic(fmt.Errorf("match: query %q is not supported", query))
10481033
}

cmd/release/release_test.go

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func TestAllQueriesSupported(t *testing.T) {
2727
t.Errorf("build %v uses an unsupported version query:\n%v", b, err)
2828
}
2929
}()
30-
match(b.GoQuery, "go1.14.6") // Shouldn't panic for any b.GoQuery.
30+
match(b.GoQuery, "go1.15.6") // Shouldn't panic for any b.GoQuery.
3131
})
3232
}
3333
}
@@ -45,14 +45,16 @@ func TestMinSupportedMacOSVersion(t *testing.T) {
4545
goVer string
4646
wantMacOS string
4747
}{
48-
{"go1.14", "10.11"},
49-
{"go1.14.14", "10.11"},
5048
{"go1.15", "10.12"},
5149
{"go1.15.7", "10.12"},
5250
{"go1.16beta1", "10.12"},
5351
{"go1.16rc1", "10.12"},
5452
{"go1.16", "10.12"},
5553
{"go1.16.1", "10.12"},
54+
{"go1.17beta1", "10.13"},
55+
{"go1.17rc1", "10.13"},
56+
{"go1.17", "10.13"},
57+
{"go1.17.2", "10.13"},
5658
}
5759
for _, tc := range testCases {
5860
t.Run(tc.goVer, func(t *testing.T) {
@@ -80,23 +82,18 @@ func TestBuilderSelectionPerGoVersion(t *testing.T) {
8082
target string
8183
wantBuilder string
8284
}{
83-
// Go 1.15.x and 1.14.x still use the Jessie builders.
84-
{"go1.14.55", "linux-amd64", "linux-amd64-jessie"},
85+
// Go 1.15.x still uses the Jessie builders.
8586
{"go1.15.55", "linux-386", "linux-386-jessie"},
8687
// Go 1.16 starts to use the the Stretch builders.
8788
{"go1.16", "linux-amd64", "linux-amd64-stretch"},
8889
{"go1.16", "linux-386", "linux-386-stretch"},
8990

90-
// Go 1.15.x and 1.14.x still use the Packet and Scaleway builders.
91-
{"go1.14.55", "linux-arm64", "linux-arm64-packet"},
91+
// Go 1.15.x still uses the Packet and Scaleway builders.
9292
{"go1.15.55", "linux-armv6l", "linux-arm"},
9393
// Go 1.16 starts to use the the AWS builders.
9494
{"go1.16", "linux-arm64", "linux-arm64-aws"},
9595
{"go1.16", "linux-armv6l", "linux-arm-aws"},
9696

97-
// Go 1.14.x still use the FreeBSD 11.1 builder.
98-
{"go1.14.55", "freebsd-amd64", "freebsd-amd64-11_1"},
99-
{"go1.14.55", "freebsd-386", "freebsd-386-11_1"},
10097
// Go 1.15 RC 2+ starts to use the the FreeBSD 11.2 builder.
10198
{"go1.15rc2", "freebsd-amd64", "freebsd-amd64-11_2"},
10299
{"go1.15rc2", "freebsd-386", "freebsd-386-11_2"},

dashboard/builders.go

Lines changed: 17 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ import (
2525
// syntax entirely. This is a first draft.
2626
var slowBotAliases = map[string]string{
2727
// Known missing builders:
28-
"darwin-arm": "", // TODO(golang.org/issue/37611): Remove once port is removed.
2928
"ios-amd64": "", // There is no builder for the iOS Simulator. See issues 42100 and 42177.
3029
"windows-arm64": "", // TODO(golang.org/issue/42604): Add builder for windows/arm64.
3130

@@ -40,7 +39,6 @@ var slowBotAliases = map[string]string{
4039
"arm": "linux-arm",
4140
"arm64": "linux-arm64-packet",
4241
"darwin": "darwin-amd64-10_14",
43-
"darwin-386": "darwin-386-10_14", // TODO(golang.org/issue/37610): Remove when Go 1.14 is no longer supported.
4442
"darwin-amd64": "darwin-amd64-10_14",
4543
"darwin-arm64": "darwin-arm64-11_0-toothrot",
4644
"ios-arm64": "ios-arm64-corellium",
@@ -298,24 +296,6 @@ var Hosts = map[string]*HostConfig{
298296
env: []string{"GOROOT_BOOTSTRAP=/usr/local/go"},
299297
OwnerGithub: "4a6f656c",
300298
},
301-
"host-freebsd-11_1": &HostConfig{
302-
VMImage: "freebsd-amd64-111-b",
303-
Notes: "FreeBSD 11.1; GCE VM is built from script in build/env/freebsd-amd64",
304-
machineType: "n1-highcpu-4",
305-
buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64",
306-
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz",
307-
env: []string{"CC=clang"},
308-
SSHUsername: "gopher",
309-
},
310-
"host-freebsd-11_1-big": &HostConfig{
311-
VMImage: "freebsd-amd64-111-b",
312-
Notes: "Same as host-freebsd-11_1, but on n1-highcpu-16",
313-
machineType: "n1-highcpu-16", // 16 vCPUs, 14.4 GB mem
314-
buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64",
315-
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz",
316-
env: []string{"CC=clang"},
317-
SSHUsername: "gopher",
318-
},
319299
"host-freebsd-11_2": &HostConfig{
320300
VMImage: "freebsd-amd64-112",
321301
Notes: "FreeBSD 11.2; GCE VM is built from script in build/env/freebsd-amd64",
@@ -332,6 +312,14 @@ var Hosts = map[string]*HostConfig{
332312
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz",
333313
SSHUsername: "gopher",
334314
},
315+
"host-freebsd-12_0-big": &HostConfig{
316+
VMImage: "freebsd-amd64-120-v1",
317+
Notes: "Same as host-freebsd-12_0, but on n1-highcpu-16",
318+
machineType: "n1-highcpu-16", // 16 vCPUs, 14.4 GB mem
319+
buildletURLTmpl: "https://storage.googleapis.com/$BUCKET/buildlet.freebsd-amd64",
320+
goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-freebsd-amd64.tar.gz",
321+
SSHUsername: "gopher",
322+
},
335323
"host-netbsd-amd64-9_0": &HostConfig{
336324
VMImage: "netbsd-amd64-9-0-2019q4",
337325
Notes: "NetBSD 9.0; GCE VM is built from script in build/env/netbsd-amd64",
@@ -472,19 +460,9 @@ var Hosts = map[string]*HostConfig{
472460
OwnerGithub: "zx2c4",
473461
env: []string{"GOROOT_BOOTSTRAP=C:\\Program Files (Arm)\\Go"},
474462
},
475-
"host-darwin-10_11": &HostConfig{
476-
IsReverse: true,
477-
ExpectNum: 3,
478-
Notes: "MacStadium OS X 10.11 VM under VMWare ESXi",
479-
env: []string{
480-
"GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
481-
},
482-
SSHUsername: "gopher",
483-
HermeticReverse: false, // TODO: make it so, like 10.12
484-
},
485463
"host-darwin-10_12": &HostConfig{
486464
IsReverse: true,
487-
ExpectNum: 4,
465+
ExpectNum: 5,
488466
Notes: "MacStadium OS X 10.12 VM under VMWare ESXi",
489467
env: []string{
490468
"GOROOT_BOOTSTRAP=/Users/gopher/go1.4",
@@ -494,7 +472,7 @@ var Hosts = map[string]*HostConfig{
494472
},
495473
"host-darwin-10_14": &HostConfig{
496474
IsReverse: true,
497-
ExpectNum: 6,
475+
ExpectNum: 7,
498476
Notes: "MacStadium macOS Mojave (10.14) VM under VMWare ESXi",
499477
env: []string{
500478
"GOROOT_BOOTSTRAP=/Users/gopher/goboot", // Go 1.12.1
@@ -504,7 +482,7 @@ var Hosts = map[string]*HostConfig{
504482
},
505483
"host-darwin-10_15": &HostConfig{
506484
IsReverse: true,
507-
ExpectNum: 6,
485+
ExpectNum: 7,
508486
Notes: "MacStadium macOS Catalina (10.15) VM under VMWare ESXi",
509487
env: []string{
510488
"GOROOT_BOOTSTRAP=/Users/gopher/goboot", // Go 1.12.1
@@ -1488,19 +1466,6 @@ func explicitTrySet(projs ...string) func(proj, branch, goBranch string) bool {
14881466
}
14891467

14901468
func init() {
1491-
addBuilder(BuildConfig{
1492-
Name: "freebsd-amd64-11_1",
1493-
HostType: "host-freebsd-11_1",
1494-
tryBot: nil,
1495-
buildsRepo: func(repo, branch, goBranch string) bool {
1496-
// This builder is unfortunately still used by Go 1.14 and 1.13,
1497-
// so keep it around a bit longer. See golang.org/issue/40563.
1498-
// Test relevant Go versions so that we're better informed.
1499-
return atMostGo1(goBranch, 14) && buildRepoByDefault(repo)
1500-
},
1501-
distTestAdjust: fasterTrybots,
1502-
numTryTestHelpers: 4,
1503-
})
15041469
addBuilder(BuildConfig{
15051470
Name: "freebsd-amd64-11_2",
15061471
HostType: "host-freebsd-11_2",
@@ -1526,19 +1491,7 @@ func init() {
15261491
})
15271492
addBuilder(BuildConfig{
15281493
Name: "freebsd-amd64-race",
1529-
HostType: "host-freebsd-11_1-big", // TODO(golang.org/issue/40562): Update to newer FreeBSD.
1530-
})
1531-
addBuilder(BuildConfig{
1532-
Name: "freebsd-386-11_1",
1533-
HostType: "host-freebsd-11_1",
1534-
distTestAdjust: noTestDirAndNoReboot,
1535-
buildsRepo: func(repo, branch, goBranch string) bool {
1536-
// This builder is unfortunately still used by Go 1.14 and 1.13,
1537-
// so keep it around a bit longer. See golang.org/issue/40563.
1538-
// Test relevant Go versions so that we're better informed.
1539-
return atMostGo1(goBranch, 14) && buildRepoByDefault(repo)
1540-
},
1541-
env: []string{"GOARCH=386", "GOHOSTARCH=386"},
1494+
HostType: "host-freebsd-12_0-big",
15421495
})
15431496
addBuilder(BuildConfig{
15441497
Name: "freebsd-386-11_2",
@@ -1578,7 +1531,7 @@ func init() {
15781531
Notes: "GO386=387",
15791532
buildsRepo: func(repo, branch, goBranch string) bool {
15801533
// GO386=387 is removed in Go 1.16 (golang.org/issue/40255).
1581-
// It's still supported in Go 1.15 and 1.14.
1534+
// It's still supported in Go 1.15.
15821535
return atMostGo1(goBranch, 15) && (repo == "go" || repo == "crypto")
15831536
},
15841537
HostType: "host-linux-jessie",
@@ -1645,7 +1598,7 @@ func init() {
16451598
addMiscCompile := func(suffix, rx string) { addMiscCompileGo1(0, suffix, rx) }
16461599

16471600
addMiscCompile("-linuxarm", "^linux-arm") // 2: arm, arm64
1648-
addMiscCompile("-darwin", "^darwin-(386|amd64)$") // 1: amd64 (in Go 1.14: 386, amd64)
1601+
addMiscCompile("-darwin", "^darwin-(386|amd64)$") // 1: amd64
16491602
addMiscCompileGo1(16, "-darwinarm64", "^darwin-arm64$") // 1: arm64 (for Go 1.16 and newer)
16501603
addMiscCompile("-mips", "^linux-mips") // 4: mips, mipsle, mips64, mips64le
16511604
addMiscCompile("-ppc", "^(linux-ppc64|aix-)") // 3: linux-ppc64{,le}, aix-ppc64
@@ -2014,7 +1967,7 @@ func init() {
20141967
HostType: "host-openbsd-386-62",
20151968
distTestAdjust: noTestDirAndNoReboot,
20161969
buildsRepo: func(repo, branch, goBranch string) bool {
2017-
// This builder is unfortunately still used by Go 1.15 and 1.14,
1970+
// This builder is unfortunately still used by Go 1.15,
20181971
// so keep it around a bit longer. See golang.org/issue/42426.
20191972
return atMostGo1(goBranch, 15) && buildRepoByDefault(repo)
20201973
},
@@ -2031,7 +1984,7 @@ func init() {
20311984
HostType: "host-openbsd-amd64-62",
20321985
distTestAdjust: noTestDirAndNoReboot,
20331986
buildsRepo: func(repo, branch, goBranch string) bool {
2034-
// This builder is unfortunately still used by Go 1.15 and 1.14,
1987+
// This builder is unfortunately still used by Go 1.15,
20351988
// so keep it around a bit longer. See golang.org/issue/42426.
20361989
return atMostGo1(goBranch, 15) && buildRepoByDefault(repo)
20371990
},
@@ -2265,29 +2218,6 @@ func init() {
22652218
"GOARM=7",
22662219
"GO_TEST_TIMEOUT_SCALE=3"},
22672220
})
2268-
addBuilder(BuildConfig{
2269-
Name: "darwin-amd64-10_11",
2270-
HostType: "host-darwin-10_11",
2271-
tryBot: nil, // disabled until Macs fixed; https://golang.org/issue/23859
2272-
buildsRepo: func(repo, branch, goBranch string) bool {
2273-
// Go 1.14 is the last release that will run on macOS 10.11 El Capitan.
2274-
// (See https://golang.org/doc/go1.14#darwin.)
2275-
return repo == "go" && atMostGo1(branch, 14)
2276-
},
2277-
distTestAdjust: macTestPolicy,
2278-
numTryTestHelpers: 3,
2279-
})
2280-
addBuilder(BuildConfig{
2281-
Name: "darwin-386-10_14",
2282-
HostType: "host-darwin-10_14",
2283-
distTestAdjust: macTestPolicy,
2284-
buildsRepo: func(repo, branch, goBranch string) bool {
2285-
// Go 1.14 is the last release that will support 32-bit binaries on macOS (darwin/386).
2286-
// (See https://golang.org/doc/go1.14#darwin.)
2287-
return repo == "go" && atMostGo1(branch, 14)
2288-
},
2289-
env: []string{"GOARCH=386", "GOHOSTARCH=386"},
2290-
})
22912221
addBuilder(BuildConfig{
22922222
Name: "darwin-amd64-10_12",
22932223
HostType: "host-darwin-10_12",
@@ -2664,18 +2594,14 @@ func init() {
26642594
},
26652595
buildsRepo: func(repo, branch, goBranch string) bool {
26662596
switch repo {
2667-
case "net":
2668-
// The x/net package wasn't working in Go 1.12; AIX folk plan to have
2669-
// it ready by Go 1.13. See https://golang.org/issue/31564#issuecomment-484786144
2670-
return atLeastGo1(branch, 13) && atLeastGo1(goBranch, 13)
26712597
case "tools", "tour", "website":
26722598
// The PATH on this builder is misconfigured in a way that causes
26732599
// any test that executes a 'go' command as a subprocess to fail.
26742600
// (https://golang.org/issue/31567).
26752601
// Skip affected repos until the builder is fixed.
26762602
return false
26772603
}
2678-
return atLeastGo1(branch, 12) && atLeastGo1(goBranch, 12) && buildRepoByDefault(repo)
2604+
return buildRepoByDefault(repo)
26792605
},
26802606
})
26812607
addBuilder(BuildConfig{

0 commit comments

Comments
 (0)