dashboard: don't build x/exp and x/mobile on the plan9 builders

Updates golang/go#11811

Change-Id: I776652a3b980772f34d65d8c245a143814aadb6a
Reviewed-on: https://go-review.googlesource.com/c/build/+/209338
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/dashboard/builders.go b/dashboard/builders.go
index 98bb1ce..5fa339e 100644
--- a/dashboard/builders.go
+++ b/dashboard/builders.go
@@ -1950,7 +1950,7 @@
 			}
 			return true
 		},
-		buildsRepo: onlyMaster,
+		buildsRepo: onlyMasterDefault,
 	})
 	addBuilder(BuildConfig{
 		Name:              "windows-amd64-2008",
@@ -2392,7 +2392,7 @@
 		Name:              "plan9-arm",
 		HostType:          "host-plan9-arm-0intro",
 		shouldRunDistTest: noTestDir,
-		buildsRepo:        onlyMaster,
+		buildsRepo:        onlyMasterDefault,
 	})
 	addBuilder(BuildConfig{
 		Name:     "plan9-amd64-9front",
@@ -2408,7 +2408,7 @@
 			}
 			return true
 		},
-		buildsRepo: onlyMaster,
+		buildsRepo: onlyMasterDefault,
 	})
 	addBuilder(BuildConfig{
 		Name:     "plan9-386-0intro",
@@ -2424,7 +2424,7 @@
 			}
 			return true
 		},
-		buildsRepo: onlyMaster,
+		buildsRepo: onlyMasterDefault,
 	})
 	addBuilder(BuildConfig{
 		Name:             "aix-ppc64",
@@ -2569,9 +2569,10 @@
 // onlyGo is a common buildsRepo policy value that only builds the main "go" repo.
 func onlyGo(repo, branch, goBranch string) bool { return repo == "go" }
 
-// onlyMaster is a common buildsRepo policy value that only builds things on the master branch.
-func onlyMaster(repo, branch, goBranch string) bool {
-	return branch == "master" && goBranch == "master"
+// onlyMasterDefault is a common buildsRepo policy value that only builds
+// default repos on the master branch.
+func onlyMasterDefault(repo, branch, goBranch string) bool {
+	return branch == "master" && goBranch == "master" && defaultBuildsRepoPolicy(repo, branch, goBranch)
 }
 
 // disabledBuilder is a buildsRepo policy function that always return false.
diff --git a/dashboard/builders_test.go b/dashboard/builders_test.go
index 94cb7f4..dd4e8fe 100644
--- a/dashboard/builders_test.go
+++ b/dashboard/builders_test.go
@@ -512,17 +512,23 @@
 		// But it's off for now as it's always failing.
 		{b("plan9-386", "go"), none},  // temporarily disabled
 		{b("plan9-386", "net"), none}, // temporarily disabled
+		{b("plan9-386", "exp"), none},
+		{b("plan9-386", "mobile"), none},
 		{b("plan9-386@go1.11", "go"), none},
 		{b("plan9-386@go1.12", "go"), none},
 		{b("plan9-386@go1.11", "net"), none},
 		{b("plan9-386@go1.12", "net"), none},
 		{b("plan9-amd64-9front", "go"), onlyPost},
+		{b("plan9-amd64-9front", "exp"), none},
+		{b("plan9-amd64-9front", "mobile"), none},
 		{b("plan9-amd64-9front@go1.11", "go"), none},
 		{b("plan9-amd64-9front@go1.12", "go"), none},
 		{b("plan9-amd64-9front", "net"), onlyPost},
 		{b("plan9-amd64-9front@go1.11", "net"), none},
 		{b("plan9-amd64-9front@go1.12", "net"), none},
 		{b("plan9-arm", "go"), onlyPost},
+		{b("plan9-arm", "exp"), none},
+		{b("plan9-arm", "mobile"), none},
 		{b("plan9-arm@go1.11", "go"), none},
 		{b("plan9-arm@go1.12", "go"), none},
 		{b("plan9-arm", "net"), onlyPost},