dashboard: add darwin-arm/arm64 buildlets

Tested by running a local coordinator on the darwin-arm64 builder.

Change-Id: Id38faaa3275d6535b897f3c65df6d01ed9c1847e
Reviewed-on: https://go-review.googlesource.com/9459
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
diff --git a/dashboard/builders.go b/dashboard/builders.go
index e44acee..348e196 100644
--- a/dashboard/builders.go
+++ b/dashboard/builders.go
@@ -70,9 +70,21 @@
 	if strings.HasPrefix(c.Name, "nacl-") {
 		return "src/nacltest.bash"
 	}
+	if strings.HasPrefix(c.Name, "darwin-arm") {
+		return "src/iostest.bash"
+	}
 	return "src/all.bash"
 }
 
+// AllScript returns the set of arguments that should be passed to the
+// all.bash-equivalent script. Usually empty.
+func (c *BuildConfig) AllScriptArgs() []string {
+	if strings.HasPrefix(c.Name, "darwin-arm") {
+		return []string{"-restart"}
+	}
+	return nil
+}
+
 // MakeScript returns the relative path to the operating system's script to
 // do the build.
 // Example values are "src/make.bash", "src/make.bat", "src/make.rc".
@@ -296,6 +308,20 @@
 		Go14URL:   "https://storage.googleapis.com/go-builder-data/go1.4-darwin-amd64.tar.gz",
 		IsReverse: true,
 	})
+	addBuilder(BuildConfig{
+		Name:      "darwin-arm-iphone4s",
+		Go14URL:   "https://storage.googleapis.com/go-builder-data/go1.4-darwin-amd64.tar.gz",
+		IsReverse: true,
+		env:       []string{"GOARCH=arm", "GOHOSTARCH=amd64"},
+	})
+	// iOS builder. Runs on an OS X host. It cross compiling binaries
+	// for darwin/arm64 and runs them on an attached iPad Mini 3.
+	addBuilder(BuildConfig{
+		Name:      "darwin-arm64-ipadmini3",
+		Go14URL:   "https://storage.googleapis.com/go-builder-data/go1.4-darwin-amd64.tar.gz",
+		IsReverse: true,
+		env:       []string{"GOARCH=arm64", "GOHOSTARCH=amd64"},
+	})
 }
 
 func addBuilder(c BuildConfig) {