cmd/coordinator: add health check for M1 Mac minis

Make the health dashboard more useful by displaying
the status of the darwin/arm64 reverse builders.

For golang/go#39782.
For golang/go#45336.

Change-Id: I3536d5716b048722fe36e905b182a0a4972b9bc3
Reviewed-on: https://go-review.googlesource.com/c/build/+/306649
Trust: Dmitri Shuralyov <dmitshur@golang.org>
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
diff --git a/cmd/coordinator/status.go b/cmd/coordinator/status.go
index aa2b40f..43495ab 100644
--- a/cmd/coordinator/status.go
+++ b/cmd/coordinator/status.go
@@ -146,6 +146,7 @@
 
 func addHealthCheckers(ctx context.Context, sc *secret.Client) {
 	addHealthChecker(newMacHealthChecker())
+	addHealthChecker(newMacOSARM64Checker())
 	addHealthChecker(newScalewayHealthChecker())
 	addHealthChecker(newPacketHealthChecker())
 	addHealthChecker(newOSUPPC64Checker())
@@ -432,6 +433,15 @@
 	return resj.Errors, resj.Warnings
 }
 
+func newMacOSARM64Checker() *healthChecker {
+	return &healthChecker{
+		ID:     "macos-arm64",
+		Title:  "macOS ARM64 (M1 Mac minis)",
+		DocURL: "https://golang.org/issue/39782",
+		Check:  hostTypeChecker("host-darwin-arm64-11_0-toothrot"),
+	}
+}
+
 func hostTypeChecker(hostType string) func(cw *checkWriter) {
 	want := expectedHosts(hostType)
 	return func(cw *checkWriter) {