cmd/releasebot: opt into using windows-amd64-longtest target by default

The windows-amd64-longtest target is passing on master (for Go 1.15),
release-branch.go1.14, and release-branch.go1.13. It was successfully
opted-into during the Go 1.15 Beta 1 release (see golang/go#39502).

Start including it in the release process by default, so that we have
more information available during the upcoming releases, and in turn
can use it to improve the releases and the release process further.

Also improve the formatting of the release table to improve
its readability, based on experience from golang/go#39502.

For golang/go#29252.

Change-Id: I002c3bf811facf50ca5fb363adebe2baacd039ea
Reviewed-on: https://go-review.googlesource.com/c/build/+/238539
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Alexander Rakoczy <alex@golang.org>
diff --git a/cmd/releasebot/main.go b/cmd/releasebot/main.go
index be6db5f..afe4094 100644
--- a/cmd/releasebot/main.go
+++ b/cmd/releasebot/main.go
@@ -71,7 +71,7 @@
 }
 
 var (
-	skipTestFlag = flag.String("skip-test", "linux-amd64-longtest windows-amd64-longtest", "space-separated list of test-only targets to skip (only use if sufficient testing was done elsewhere)")
+	skipTestFlag = flag.String("skip-test", "linux-amd64-longtest", "space-separated list of test-only targets to skip (only use if sufficient testing was done elsewhere)")
 )
 
 var (
@@ -561,21 +561,28 @@
 	w.releaseMu.Lock()
 	defer w.releaseMu.Unlock()
 	for _, target := range releaseTargets {
-		fmt.Fprintf(md, "%s", mdEscape(target.Name))
+		fmt.Fprintf(md, "- %s", mdEscape(target.Name))
+		if target.TestOnly {
+			fmt.Fprintf(md, " (test only)")
+		}
 		info := w.ReleaseInfo[target.Name]
 		if info == nil {
-			fmt.Fprintf(md, " not started\n")
+			fmt.Fprintf(md, " - not started\n")
 			continue
 		}
-		for _, out := range info.Outputs {
-			if out.Link == "" {
-				fmt.Fprintf(md, " (~~%s~~)", mdEscape(out.Suffix))
-			} else {
-				fmt.Fprintf(md, " ([%s](%s))", mdEscape(out.Suffix), out.Link)
-			}
-		}
 		if len(info.Outputs) == 0 {
-			fmt.Fprintf(md, " not built")
+			fmt.Fprintf(md, " - not built")
+		} else if target.TestOnly && len(info.Outputs) == 1 && info.Outputs[0].Suffix == "test-only" {
+			fmt.Fprintf(md, " - ok")
+		}
+		for _, out := range info.Outputs {
+			if out.Suffix == "test-only" {
+				continue
+			} else if out.Link != "" {
+				fmt.Fprintf(md, " ([%s](%s))", mdEscape(out.Suffix), out.Link)
+			} else {
+				fmt.Fprintf(md, " (~~%s~~)", mdEscape(out.Suffix))
+			}
 		}
 		fmt.Fprintf(md, "\n")
 		if info.Msg != "" {