dashboard: disable darwin/386 builder on master

The 32-bit pairs darwin/386 and darwin/arm are removed in Go 1.15,
and the master branch is where Go 1.15 is being developed.
The builder has started to fail after CL 226985 (as intended),
so remove it. Keep it running on Go 1.14 and 1.13 release branches.

Also update the misc-compile-darwin builder description.

For golang/go#37610.
For golang/go#37611.

Change-Id: Ia70386c5ae2821b4397048dcb0862a066463d6de
Reviewed-on: https://go-review.googlesource.com/c/build/+/227181
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
diff --git a/dashboard/builders.go b/dashboard/builders.go
index e969cce..5597530 100644
--- a/dashboard/builders.go
+++ b/dashboard/builders.go
@@ -44,7 +44,7 @@
 	"arm64":          "linux-arm64-packet",
 	"arm64p32":       "nacl-amd64p32",
 	"darwin":         "darwin-amd64-10_14",
-	"darwin-386":     "darwin-386-10_14",
+	"darwin-386":     "darwin-386-10_14", // TODO(golang.org/issue/37610): Remove when Go 1.14 is no longer supported.
 	"darwin-amd64":   "darwin-amd64-10_14",
 	"darwin-arm64":   "darwin-arm64-corellium",
 	"dragonfly":      "dragonfly-amd64",
@@ -1533,7 +1533,7 @@
 		})
 	}
 	addMiscCompile("-linuxarm", "^linux-arm")                // 2: arm, arm64
-	addMiscCompile("-darwin", "^darwin")                     // 4: 386, amd64 + iOS: arm, arm64
+	addMiscCompile("-darwin", "^darwin")                     // 2: amd64, arm64 (for Go 1.14 and older, 4: 386, amd64 + iOS: arm, arm64)
 	addMiscCompile("-mips", "^linux-mips")                   // 4: mips, mipsle, mips64, mips64le
 	addMiscCompile("-ppc", "^(linux-ppc64|aix-)")            // 3: linux-ppc64{,le}, aix-ppc64
 	addMiscCompile("-solaris", "^(solaris|illumos)")         // 2: both amd64
@@ -2059,7 +2059,9 @@
 		HostType:          "host-darwin-10_14",
 		shouldRunDistTest: macTestPolicy,
 		buildsRepo: func(repo, branch, goBranch string) bool {
-			return repo == "go" && atLeastGo1(branch, 13)
+			// Go 1.14 is the last release that will support 32-bit binaries on macOS (darwin/386).
+			// (See https://golang.org/doc/go1.14#darwin.)
+			return repo == "go" && atMostGo1(branch, 14)
 		},
 		env: []string{"GOARCH=386", "GOHOSTARCH=386"},
 	})
diff --git a/dashboard/builders_test.go b/dashboard/builders_test.go
index ab711d8..9ec53ee 100644
--- a/dashboard/builders_test.go
+++ b/dashboard/builders_test.go
@@ -527,9 +527,10 @@
 		{b("darwin-amd64-10_11", "go"), none},
 		{b("darwin-amd64-10_11@go1.14", "go"), onlyPost}, // Go 1.14 is the last release that will run on macOS 10.11 El Capitan.
 		{b("darwin-amd64-10_11@go1.15", "go"), none},     // Go 1.15 will require macOS 10.12 Sierra or later.
-		{b("darwin-386-10_14", "go"), onlyPost},
-		{b("darwin-386-10_14@go1.12", "go"), none},
+		{b("darwin-386-10_14", "go"), none},
 		{b("darwin-386-10_14@go1.13", "go"), onlyPost},
+		{b("darwin-386-10_14@go1.14", "go"), onlyPost}, // Go 1.14 is the last release that supports 32-bit on macOS.
+		{b("darwin-386-10_14@go1.15", "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.