dashboard,cmd/release: replace windows-arm64-aws with windows-arm64-10

This change removes the windows-arm64-aws buildlet and replaces all
usages with the windows-arm64-10 buildlet.

- Remove the known issue from the windows-arm64-10 buildlet, which has
been passing reliably.
- Enable tests during releases, and add a slowbot alias, as it's a much
faster buildlet.

Updates golang/go#46502
For golang/go#42604

Change-Id: Ib9f7c3d5391b01e303b43bbdad030b3f94147c5d
Reviewed-on: https://go-review.googlesource.com/c/build/+/331670
Trust: Alexander Rakoczy <alex@golang.org>
Run-TryBot: Alexander Rakoczy <alex@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Carlos Amedee <carlos@golang.org>
diff --git a/cmd/coordinator/coordinator_test.go b/cmd/coordinator/coordinator_test.go
index a7c6c2c..609c92f 100644
--- a/cmd/coordinator/coordinator_test.go
+++ b/cmd/coordinator/coordinator_test.go
@@ -254,33 +254,33 @@
 	hasWindowsARM64Builder := false
 	for _, bs := range ts.builds {
 		v := bs.NameAndBranch()
-		if v == "windows-arm64-aws" {
+		if v == "windows-arm64-10" {
 			hasWindowsARM64Builder = true
 		}
 	}
 	if hasWindowsARM64Builder {
-		// This test relies on windows-arm64-aws builder not being default TryBot
-		// to provide coverage for issue 42084. If the build policy changes, need
-		// to pick another builder to use in this test.
-		t.Fatal("windows-arm64-aws builder was included even without TRY= message")
+		// This test relies on windows-arm64-10 builder not being a default
+		// TryBot to provide coverage for issue 42084. If the build policy
+		// changes, need to pick another builder to use in this test.
+		t.Fatal("windows-arm64-10 builder was included even without TRY= message")
 	}
 
 	// Next, add try messages, and check that the SlowBot is now included.
 	work.TryMessage = []*apipb.TryVoteMessage{
-		{Message: "TRY=windows-arm64,windows-amd64", AuthorId: 1234, Version: 1},
-		{Message: "TRY=windows-arm64-aws", AuthorId: 1234, Version: 1},
+		{Message: "TRY=windows-amd64", AuthorId: 1234, Version: 1},
+		{Message: "TRY=windows-arm64-10", AuthorId: 1234, Version: 1},
 	}
 	ts = newTrySet(work)
 	hasWindowsARM64Builder = false
 	for i, bs := range ts.builds {
 		v := bs.NameAndBranch()
 		t.Logf("build[%d]: %s", i, v)
-		if v == "windows-arm64-aws" {
+		if v == "windows-arm64-10" {
 			hasWindowsARM64Builder = true
 		}
 	}
 	if !hasWindowsARM64Builder {
-		t.Error("windows-arm64-aws SlowBot was not included")
+		t.Error("windows-arm64-10 SlowBot was not included")
 	}
 }
 
diff --git a/cmd/release/release.go b/cmd/release/release.go
index 39710eb..7c610a6 100644
--- a/cmd/release/release.go
+++ b/cmd/release/release.go
@@ -205,10 +205,10 @@
 		OS:      "windows",
 		Arch:    "arm64",
 		Race:    false, // Not supported as of 2021-06-01.
-		Builder: "windows-arm64-aws",
-
-		// TODO(golang.org/issue/46406, golang.org/issue/46502): Fix or skip failing tests,
-		// ensure the builder is fast enough to complete tests, then remove SkipTests here.
+		Builder: "windows-arm64-10",
+		// TODO(golang.org/issue/46406, golang.org/issue/46502): Fix
+		// or skip failing tests, ensure the builder is fast enough to
+		// complete tests, then remove SkipTests here.
 		SkipTests: true,
 	},
 	{
diff --git a/dashboard/builders.go b/dashboard/builders.go
index 2e0dd10..1a2eb0e 100644
--- a/dashboard/builders.go
+++ b/dashboard/builders.go
@@ -25,8 +25,7 @@
 // syntax entirely. This is a first draft.
 var slowBotAliases = map[string]string{
 	// Known missing builders:
-	"ios-amd64":     "", // There is no builder for the iOS Simulator. See issues 42100 and 42177.
-	"windows-arm64": "", // TODO(golang.org/issue/42604): Add builder for windows/arm64.
+	"ios-amd64": "", // There is no builder for the iOS Simulator. See issues 42100 and 42177.
 
 	"386":                  "linux-386",
 	"aix":                  "aix-ppc64",
@@ -97,6 +96,7 @@
 	"windows-386":          "windows-386-2008",
 	"windows-amd64":        "windows-amd64-2016",
 	"windows-arm":          "windows-arm-zx2c4",
+	"windows-arm64":        "windows-arm64-10",
 }
 
 // Builders are the different build configurations.
@@ -466,16 +466,6 @@
 		OwnerGithub: "zx2c4",
 		env:         []string{"GOROOT_BOOTSTRAP=C:\\Program Files (Arm)\\Go"},
 	},
-	"host-windows-arm64-qemu": &HostConfig{
-		Notes:              "Ubuntu hosting Windows 10 in qemu with KVM, EC2 ARM64 instance. See x/build/env/windows-arm64/aws",
-		VMImage:            "ami-0203852dc6efbfb68",
-		SSHUsername:        "gopher", // Windows username is gopher, linux is ubuntu.
-		buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.windows-arm64",
-		env:                []string{"GOARCH=arm64"},
-		goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/gobootstrap-windows-arm64-f22ec5.tar.gz",
-		isEC2:              true,
-		machineType:        "a1.metal",
-	},
 	"host-windows-arm64-mini": &HostConfig{
 		Notes:              "macOS hosting Windows 10 in qemu with HVM acceleration.",
 		buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.windows-arm64",
@@ -2306,22 +2296,12 @@
 			"GO_TEST_TIMEOUT_SCALE=3"},
 	})
 	addBuilder(BuildConfig{
-		Name:              "windows-arm64-aws",
-		HostType:          "host-windows-arm64-qemu",
-		numTryTestHelpers: 1,
-		buildsRepo: func(repo, branch, goBranch string) bool {
-			return atLeastGo1(goBranch, 17) && buildRepoByDefault(repo)
-		},
-		KnownIssue: 42604,
-	})
-	addBuilder(BuildConfig{
 		Name:              "windows-arm64-10",
 		HostType:          "host-windows-arm64-mini",
 		numTryTestHelpers: 1,
 		buildsRepo: func(repo, branch, goBranch string) bool {
 			return atLeastGo1(goBranch, 17) && buildRepoByDefault(repo)
 		},
-		KnownIssue: 42604,
 	})
 	addBuilder(BuildConfig{
 		Name:           "darwin-amd64-10_12",
diff --git a/maintner/maintnerd/maintapi/api_test.go b/maintner/maintnerd/maintapi/api_test.go
index 2a92710..7ff9e4c 100644
--- a/maintner/maintnerd/maintapi/api_test.go
+++ b/maintner/maintnerd/maintapi/api_test.go
@@ -267,7 +267,7 @@
 					},
 					{
 						PatchSet: 1,
-						Message:  "TRY=windows-arm64-aws",
+						Message:  "TRY=windows-arm64-10",
 						Updated:  gerrit.TimeStamp(time.Date(2021, 6, 3, 19, 16, 26, 0, time.UTC)),
 						Author:   &gerrit.AccountInfo{NumericID: 1234},
 					},
@@ -275,7 +275,7 @@
 			},
 			want: `project:"go" branch:"master" change_id:"I023d5208374f867552ba68b45011f7990159868f" commit:"dd38fd80c3667f891dbe06bd1d8ed153c2e208da" version:1 go_version:<major:1 minor:17 > ` +
 				`try_message:<message:"windows-arm64,windows-amd64" author_id:1234 version:1 > ` +
-				`try_message:<message:"windows-arm64-aws" author_id:1234 version:1 > `,
+				`try_message:<message:"windows-arm64-10" author_id:1234 version:1 > `,
 		},
 	}
 	for _, tt := range tests {