dashboard: add configs for new windows 2008, 2012, 2016 builders

See also: https://golang.org/cl/41142

Updates golang/go#17513

Change-Id: Ie743ae4604e65892e28423ed0af008450b647197
Reviewed-on: https://go-review.googlesource.com/41393
Reviewed-by: Jeff Johnson <jrjohnson@google.com>
Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
diff --git a/buildlet/gce.go b/buildlet/gce.go
index fc04e5c..96207f0 100644
--- a/buildlet/gce.go
+++ b/buildlet/gce.go
@@ -256,7 +256,7 @@
 	}
 	condRun(opts.OnGotInstanceInfo)
 
-	const timeout = 3 * time.Minute
+	const timeout = 5 * time.Minute
 	var alive bool
 	impatientClient := &http.Client{
 		Timeout: 5 * time.Second,
diff --git a/cmd/buildlet/buildlet.go b/cmd/buildlet/buildlet.go
index 6422028..148d045 100644
--- a/cmd/buildlet/buildlet.go
+++ b/cmd/buildlet/buildlet.go
@@ -1002,6 +1002,7 @@
 		}
 		newPath = append(newPath, v)
 	}
+	newPath = append(newPath, `C:\godep\gcc\bin`)
 	return strings.Join(newPath, string(filepath.ListSeparator))
 }
 
diff --git a/cmd/retrybuilds/retrybuilds.go b/cmd/retrybuilds/retrybuilds.go
index 4f46aa6..a4e3614 100644
--- a/cmd/retrybuilds/retrybuilds.go
+++ b/cmd/retrybuilds/retrybuilds.go
@@ -118,6 +118,7 @@
 	"lookup gmail.com on 8.8.8.8:53",
 	"lookup www.mit.edu on ",
 	"undefined: runtime.SetMutexProfileFraction", // ppc64 builders had not-quite-go1.8 bootstrap
+	"make.bat: The parameter is incorrect",
 }
 
 func isFlaky(failLog string) bool {
diff --git a/dashboard/builders.go b/dashboard/builders.go
index 2376f2e..105e136 100644
--- a/dashboard/builders.go
+++ b/dashboard/builders.go
@@ -166,6 +166,24 @@
 		goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz",
 		RegularDisk:        true,
 	},
+	"host-windows-amd64-2008": &HostConfig{
+		VMImage:            "windows-amd64-server-2008r2-v1",
+		machineType:        "n1-highcpu-4",
+		buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64",
+		goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz",
+	},
+	"host-windows-amd64-2012": &HostConfig{
+		VMImage:            "windows-amd64-server-2012r2-v1",
+		machineType:        "n1-highcpu-4",
+		buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64",
+		goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz",
+	},
+	"host-windows-amd64-2016": &HostConfig{
+		VMImage:            "windows-amd64-server-2016-v1",
+		machineType:        "n1-highcpu-4",
+		buildletURLTmpl:    "http://storage.googleapis.com/$BUCKET/buildlet.windows-amd64",
+		goBootstrapURLTmpl: "https://storage.googleapis.com/$BUCKET/go1.4-windows-amd64.tar.gz",
+	},
 	"host-darwin-10_8": &HostConfig{
 		IsReverse: true,
 		ExpectNum: 1,
@@ -918,6 +936,24 @@
 		numTestHelpers: 1,
 	})
 	addBuilder(BuildConfig{
+		Name:      "windows-amd64-2008",
+		HostType:  "host-windows-amd64-2008",
+		env:       []string{"GOARCH=amd64", "GOHOSTARCH=amd64"},
+		MaxAtOnce: 1, // TODO(bradfitz): for now, until proven
+	})
+	addBuilder(BuildConfig{
+		Name:      "windows-amd64-2012",
+		HostType:  "host-windows-amd64-2012",
+		env:       []string{"GOARCH=amd64", "GOHOSTARCH=amd64"},
+		MaxAtOnce: 1, // TODO(bradfitz): for now, until proven
+	})
+	addBuilder(BuildConfig{
+		Name:      "windows-amd64-2016",
+		HostType:  "host-windows-amd64-2016",
+		env:       []string{"GOARCH=amd64", "GOHOSTARCH=amd64"},
+		MaxAtOnce: 1, // TODO(bradfitz): for now, until proven
+	})
+	addBuilder(BuildConfig{
 		Name:              "windows-amd64-gce",
 		HostType:          "host-windows-gce",
 		env:               []string{"GOARCH=amd64", "GOHOSTARCH=amd64"},