Add mac_arm64 builders.

Bots were added in https://crbug.com/1284751.

Change-Id: I6b868325f360d349ab096c77118eb1abc846c1df
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/50925
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/generated/commit-queue.cfg b/generated/commit-queue.cfg
index 2ad237b..70e10a6 100644
--- a/generated/commit-queue.cfg
+++ b/generated/commit-queue.cfg
@@ -125,6 +125,9 @@
         name: "boringssl/try/mac"
       }
       builders {
+        name: "boringssl/try/mac_arm64"
+      }
+      builders {
         name: "boringssl/try/mac_rel"
       }
       builders {
diff --git a/generated/cr-buildbucket.cfg b/generated/cr-buildbucket.cfg
index 0e0fc85..2384dc2 100644
--- a/generated/cr-buildbucket.cfg
+++ b/generated/cr-buildbucket.cfg
@@ -1086,6 +1086,43 @@
       }
     }
     builders {
+      name: "mac_arm64"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:arm64"
+      dimensions: "os:Mac-11"
+      dimensions: "pool:luci.flex.ci"
+      exe {
+        cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "$gatekeeper": {'
+        '    "group": "client.boringssl"'
+        '  },'
+        '  "recipe": "boringssl"'
+        '}'
+      execution_timeout_secs: 3600
+      caches {
+        name: "gocache"
+        path: "gocache"
+      }
+      caches {
+        name: "gopath"
+        path: "gopath"
+      }
+      caches {
+        name: "osx_sdk"
+        path: "osx_sdk"
+      }
+      service_account: "boringssl-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+    }
+    builders {
       name: "mac_rel"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "cpu:x86-64"
@@ -2408,6 +2445,32 @@
       }
     }
     builders {
+      name: "mac_arm64"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:arm64"
+      dimensions: "os:Mac-11"
+      dimensions: "pool:luci.flex.try"
+      exe {
+        cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
+        cipd_version: "refs/heads/main"
+        cmd: "luciexe"
+      }
+      properties:
+        '{'
+        '  "recipe": "boringssl"'
+        '}'
+      execution_timeout_secs: 3600
+      caches {
+        name: "osx_sdk"
+        path: "osx_sdk"
+      }
+      service_account: "boringssl-try-builder@chops-service-accounts.iam.gserviceaccount.com"
+      experiments {
+        key: "luci.recipes.use_python3"
+        value: 100
+      }
+    }
+    builders {
       name: "mac_rel"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "cpu:x86-64"
diff --git a/generated/luci-milo.cfg b/generated/luci-milo.cfg
index 7f300b0..c07d49f 100644
--- a/generated/luci-milo.cfg
+++ b/generated/luci-milo.cfg
@@ -180,6 +180,11 @@
     short_name: "sm"
   }
   builders {
+    name: "buildbucket/luci.boringssl.ci/mac_arm64"
+    category: "mac"
+    short_name: "arm64"
+  }
+  builders {
     name: "buildbucket/luci.boringssl.ci/win32"
     category: "win|32"
     short_name: "dbg"
diff --git a/generated/luci-notify.cfg b/generated/luci-notify.cfg
index ac2aef7..0ac5765 100644
--- a/generated/luci-notify.cfg
+++ b/generated/luci-notify.cfg
@@ -495,6 +495,21 @@
   }
   builders {
     bucket: "ci"
+    name: "mac_arm64"
+    repository: "https://boringssl.googlesource.com/boringssl"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    on_new_status: SUCCESS
+    email {
+      recipients: "boringssl@google.com"
+    }
+  }
+  builders {
+    bucket: "ci"
     name: "mac_rel"
     repository: "https://boringssl.googlesource.com/boringssl"
   }
diff --git a/generated/luci-scheduler.cfg b/generated/luci-scheduler.cfg
index b5e6278..96f9b0a 100644
--- a/generated/luci-scheduler.cfg
+++ b/generated/luci-scheduler.cfg
@@ -325,6 +325,16 @@
   }
 }
 job {
+  id: "mac_arm64"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "luci.boringssl.ci"
+    builder: "mac_arm64"
+  }
+}
+job {
   id: "mac_rel"
   realm: "ci"
   acl_sets: "ci"
@@ -510,6 +520,7 @@
   triggers: "linux_shared"
   triggers: "linux_small"
   triggers: "mac"
+  triggers: "mac_arm64"
   triggers: "mac_rel"
   triggers: "mac_small"
   triggers: "win32"
diff --git a/generated/project.cfg b/generated/project.cfg
index 8209cd4..fa8da95 100644
--- a/generated/project.cfg
+++ b/generated/project.cfg
@@ -7,7 +7,7 @@
 name: "boringssl"
 access: "group:all"
 lucicfg {
-  version: "1.30.1"
+  version: "1.30.5"
   package_dir: ".."
   config_dir: "generated"
   entry_point: "main.star"
diff --git a/main.star b/main.star
index 5ff4190..338334d 100755
--- a/main.star
+++ b/main.star
@@ -220,7 +220,19 @@
     },
 }
 
-MAC_HOST = {
+MAC_ARM64_HOST = {
+    "dimensions": {
+        "os": "Mac-11",
+        "cpu": "arm64",
+    },
+    "caches": [swarming.cache("osx_sdk")],
+    # xcode installation can take a while, particularly when running
+    # concurrently on multiple VMs on the same host. See crbug.com/1063870
+    # for more context.
+    "execution_timeout": 60 * time.minute,
+}
+
+MAC_X86_64_HOST = {
     "dimensions": {
         "os": "Mac-10.15|Mac-11",
         "cpu": "x86-64",
@@ -359,9 +371,13 @@
 )
 
 both_builders("docs", LINUX_HOST, recipe = "boringssl_docs", short_name = "doc")
+
+# For now, we use x86_64 Macs to build iOS because there are far more of them
+# in luci.flex.ci and luci.flex.try pools. When this changes, switch to
+# MAC_ARM64_HOST.
 both_builders(
     "ios_compile",
-    MAC_HOST,
+    MAC_X86_64_HOST,
     category = "ios",
     short_name = "32",
     properties = {
@@ -371,7 +387,7 @@
 )
 both_builders(
     "ios64_compile",
-    MAC_HOST,
+    MAC_X86_64_HOST,
     category = "ios",
     short_name = "64",
     properties = {
@@ -475,9 +491,10 @@
     category = "linux",
     short_name = "nosse2",
 )
-both_builders("mac", MAC_HOST, category = "mac", short_name = "dbg")
-both_builders("mac_rel", MAC_HOST, category = "mac", short_name = "rel")
-both_builders("mac_small", MAC_HOST, category = "mac", short_name = "sm")
+both_builders("mac", MAC_X86_64_HOST, category = "mac", short_name = "dbg")
+both_builders("mac_rel", MAC_X86_64_HOST, category = "mac", short_name = "rel")
+both_builders("mac_small", MAC_X86_64_HOST, category = "mac", short_name = "sm")
+both_builders("mac_arm64", MAC_ARM64_HOST, category = "mac", short_name = "arm64")
 both_builders("win32", WIN_HOST, category = "win|32", short_name = "dbg")
 both_builders("win32_rel", WIN_HOST, category = "win|32", short_name = "rel")
 ci_builder(