internal/dl: feature the darwin/arm64 installer

The transition of macOS devices to Apple silicon is far along,
the darwin/arm64 port is a first-class port,
and its files are receiving enough downloads to support it being
featured more prominently like the darwin/amd64 port is.

Fixes golang/go#47578.

Change-Id: I9ce90e981cca48c5bb79507a49ea1e33072bc894
Reviewed-on: https://go-review.googlesource.com/c/website/+/399610
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Alex Rakoczy <alex@golang.org>
Auto-Submit: Dmitri Shuralyov <dmitshur@golang.org>
diff --git a/internal/dl/dl.go b/internal/dl/dl.go
index 8d6013f..12096c1 100644
--- a/internal/dl/dl.go
+++ b/internal/dl/dl.go
@@ -166,6 +166,11 @@
 	},
 	{
 		Platform:     "Apple macOS",
+		Requirements: "macOS 11 or later, Apple 64-bit processor",
+		fileRE:       regexp.MustCompile(`\.darwin-arm64\.pkg$`),
+	},
+	{
+		Platform:     "Apple macOS",
 		Requirements: "macOS 10.13 or later, Intel 64-bit processor",
 		fileRE:       regexp.MustCompile(`\.darwin-amd64\.pkg$`),
 	},
diff --git a/internal/dl/dl_test.go b/internal/dl/dl_test.go
index d4b42fb..cc52c22 100644
--- a/internal/dl/dl_test.go
+++ b/internal/dl/dl_test.go
@@ -220,6 +220,7 @@
 	got := strings.Join(s, "\n")
 	want := strings.Join([]string{
 		"go1.16.3.windows-amd64.msi",
+		"go1.16.3.darwin-arm64.pkg",
 		"go1.16.3.darwin-amd64.pkg",
 		"go1.16.3.linux-amd64.tar.gz",
 		"go1.16.3.src.tar.gz",
diff --git a/internal/dl/server.go b/internal/dl/server.go
index e9d0dde..f9f21de 100644
--- a/internal/dl/server.go
+++ b/internal/dl/server.go
@@ -91,6 +91,9 @@
 		if err != nil {
 			return nil, err
 		}
+		if len(d.Stable) > 0 {
+			d.Featured = filesToFeatured(d.Stable[0].Files)
+		}
 		return &d, nil
 	}