dashboard: add windows-arm64 back in using azure vms

Add back windows-arm64 support, using reverse builders based on Azure
VMs. At the moment only windows 11 is available.

Updates golang/go#57408.

Change-Id: Id93adf920226e13f74ec921e9c70765837a9cca8
Reviewed-on: https://go-review.googlesource.com/c/build/+/460837
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Than McIntosh <thanm@google.com>
Reviewed-by: Heschi Kreinick <heschi@google.com>
diff --git a/dashboard/builders.go b/dashboard/builders.go
index 4e7bd41..db47ea2 100644
--- a/dashboard/builders.go
+++ b/dashboard/builders.go
@@ -100,9 +100,7 @@
 	"windows-386":           "windows-386-2008",
 	"windows-amd64":         "windows-amd64-2016",
 	"windows-arm":           "windows-arm-zx2c4",
-	// TODO:(golang/go#47019) - uncomment when builder returns and
-	//   update test.
-	// "windows-arm64":         "windows-arm64-11",
+	"windows-arm64":         "windows-arm64-11",
 }
 
 // Builders are the different build configurations.
@@ -568,6 +566,12 @@
 		ExpectNum: 0,
 		Owners:    []*gophers.Person{gh("zx2c4")},
 	},
+	"host-windows11-arm64-azure": { // host name known to cmd/buildlet/stage0, cannot change
+		Notes:     "Azure windows 11 arm64 VMs",
+		HostArch:  "windows-arm64",
+		IsReverse: true,
+		ExpectNum: 5,
+	},
 }
 
 func gh(githubUsername string) *gophers.Person {
@@ -2464,6 +2468,17 @@
 			"GO_TEST_TIMEOUT_SCALE=3"},
 	})
 	addBuilder(BuildConfig{
+		Name:              "windows-arm64-11",
+		HostType:          "host-windows11-arm64-azure",
+		numTryTestHelpers: 1,
+		env: []string{
+			"GOARCH=arm64",
+			// Note: GOMAXPROCS=4 workaround for go.dev/issue/51019
+			// tentatively removed here, since Azure VMs have 3x more
+			// RAM than the previous win11/arm64 machines.
+		},
+	})
+	addBuilder(BuildConfig{
 		Name:           "darwin-amd64-10_14",
 		HostType:       "host-darwin-amd64-10_14-aws",
 		distTestAdjust: macTestPolicy,
diff --git a/dashboard/builders_test.go b/dashboard/builders_test.go
index a18f2b3..39b9bca 100644
--- a/dashboard/builders_test.go
+++ b/dashboard/builders_test.go
@@ -729,10 +729,7 @@
 	}
 	ports := strings.Fields(string(out))
 
-	done := map[string]bool{
-		// TODO:(golang/go#47019) - remove when alias added
-		"windows-arm64": true,
-	}
+	done := map[string]bool{}
 
 	var add bytes.Buffer
 	check := func(term string, isArch bool) {