dashboard: remove misc-compile-ios builder

Since sending CL 257617, I've learned that iOS was never a supported
target for misc-compile. It was always filtered out unconditionally
in GOROOT/src/buildall.bash, and the comment suggesting that we test
iOS targets was inaccurate.

Remove the naive misc-compile-ios builder since it's not expected to
start working soon, and update misc-builder architecture filtering
code and comments to match the current reality better.

After this change, it will be viable to remove mobile target filtering
from GOROOT/src/buildall.bash. If that's done, then x/build/dashboard
will become a centralized place for all misc-builder target selection.

Ignore darwin-arm in TestTryBotsCompileAllPorts so the test doesn't
fail when executed with Go 1.14. Not having that builder is intended.

For golang/go#41610.
Updates golang/go#25963.

Change-Id: Ic6f5dc95edb67f8e6ebc0a77979e55eb0cc325cb
Reviewed-on: https://go-review.googlesource.com/c/build/+/258057
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
diff --git a/dashboard/builders.go b/dashboard/builders.go
index d4fca70..ef374af 100644
--- a/dashboard/builders.go
+++ b/dashboard/builders.go
@@ -1551,7 +1551,7 @@
 		})
 	}
 	addMiscCompile("-linuxarm", "^linux-arm")                // 2: arm, arm64
-	addMiscCompile("-darwin", "^darwin")                     // 2: amd64, arm64 (for Go 1.14 and older, 4: 386, amd64 + iOS: arm, arm64)
+	addMiscCompile("-darwin", "^darwin-(386|amd64)$")        // 1: amd64 (in Go 1.14: 386, amd64)
 	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
@@ -1560,29 +1560,12 @@
 	addMiscCompile("-netbsd", "^netbsd-")                    // 4: amd64, 386, arm, arm64
 	addMiscCompile("-openbsd", "^openbsd-")                  // 4: amd64, 386, arm, arm64
 
-	// TODO(golang.org/issue/41610): Test misc-compile-ios as a post-
-	// submit builder with a known issue, before promoting to trybot.
-	func(suffix, rx string) {
-		addBuilder(BuildConfig{
-			Name:        "misc-compile" + suffix,
-			HostType:    "host-linux-jessie",
-			buildsRepo:  func(repo, branch, goBranch string) bool { return repo == "go" && branch == "master" },
-			KnownIssue:  41610,
-			env:         []string{"GO_DISABLE_OUTBOUND_NETWORK=1"},
-			CompileOnly: true,
-			Notes:       "Runs buildall.sh to cross-compile & vet std+cmd packages for " + rx + ", but doesn't run any tests.",
-			allScriptArgs: []string{
-				// Filtering pattern to buildall.bash:
-				rx,
-			},
-		})
-	}("-ios", "^ios-") // 1: arm64 (for Go 1.16 and newer)
-
 	// And 3 that don't fit above:
 	addMiscCompile("-other", "^(linux-s390x|linux-riscv64|dragonfly-amd64)$")
-	// TODO: Issue 25963, get the misc-compile trybots for
-	// subrepos too, so "mobile" can at least be included as a
-	// misc-compile for ^android- and ^darwin-arm.
+
+	// TODO: Issue 25963, get the misc-compile trybots for Android/iOS.
+	// Then consider subrepos too, so "mobile" can at least be included
+	// as a misc-compile for ^android- and ^ios-.
 
 	addBuilder(BuildConfig{
 		Name:     "linux-amd64-nocgo",
diff --git a/dashboard/builders_test.go b/dashboard/builders_test.go
index a747ab7..2dc25be 100644
--- a/dashboard/builders_test.go
+++ b/dashboard/builders_test.go
@@ -787,16 +787,18 @@
 	ports := strings.Fields(string(out))
 
 	done := map[string]bool{}
-	done["nacl-386"] = true    // removed in Go 1.14
-	done["nacl-arm"] = true    // removed in Go 1.14
-	done["windows-arm"] = true // TODO(golang.org/issue/38607) disabled until builder is replaced
+	done["darwin-arm"] = true   // TODO: Remove when Go 1.16 is out and Go 1.14 becomes unsupported.
+	done["windows-arm"] = true  // TODO(golang.org/issue/38607) disabled until builder is replaced
+	done["darwin-arm64"] = true // TODO(golang.org/issue/39782): Add builder for darwin/arm64.
 	check := func(goos, goarch string) {
-		if goos == "android" {
+		if goos == "android" || goos == "ios" {
 			// TODO(golang.org/issue/25963): support
-			// compilation-only Android trybots.
+			// compilation-only Android and iOS trybots.
 			// buildall.bash doesn't set the environment
 			// up enough for e.g. compiling android-386
 			// from linux-amd64. (Issue #35596 too)
+			// iOS likely needs to be built on macOS
+			// with Xcode available.
 			return
 		}
 		goosArch := goos + "-" + goarch