infra: Migrate builders to Goma RBE

Bug: 950413
Change-Id: I95ff4bc6380eb2af210a8c264411d6064a9a8b32
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/22900
Reviewed-by: Simon Que <sque@google.com>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
diff --git a/infra/config/global/cr-buildbucket.cfg b/infra/config/global/cr-buildbucket.cfg
index 1d45325..8f9ffba 100644
--- a/infra/config/global/cr-buildbucket.cfg
+++ b/infra/config/global/cr-buildbucket.cfg
@@ -71,6 +71,32 @@
   }
 }
 builder_mixins {
+  name: "linux",
+  dimensions: "os:Ubuntu-16.04"
+  recipe {
+    properties_j: <<EOF
+      $build/goma: {
+        "enable_ats": true,
+        "rpc_extra_params": "?prod",
+        "server_host": "goma.chromium.org"
+      }
+    EOF
+  }
+}
+builder_mixins {
+  name: "windows",
+  dimensions: "os:Windows"
+  recipe {
+    properties_j: <<EOF
+      $build/goma: {
+        "enable_ats": true,
+        "rpc_extra_params": "?prod",
+        "server_host": "goma.chromium.org"
+      }
+    EOF
+  }
+}
+builder_mixins {
   name: "mac"
   dimensions: "os:Mac-10.15"
   caches: {   # cache for depot_tools.osx_sdk recipe module
@@ -79,10 +105,16 @@
   }
   recipe {
     properties_j: <<EOF
-      $depot_tools/osx_sdk:{
+      $depot_tools/osx_sdk: {
         "sdk_version": "11b52"
       }
     EOF
+    properties_j: <<EOF
+      $build/goma: {
+        "rpc_extra_params": "?prod",
+        "server_host": "goma.chromium.org"
+      }
+    EOF
   }
 }
 
@@ -111,25 +143,25 @@
     # Linux: test combinations of {clang}x{release,debug}x{x86,x64}
     builders {
       name: "linux-clang-dbg-x64"
-      dimensions: "os:Ubuntu-16.04"
+      mixins: "linux"
       mixins: "debug"
       mixins: "x64"
     }
     builders {
       name: "linux-clang-dbg-x86"
-      dimensions: "os:Ubuntu-16.04"
+      mixins: "linux"
       mixins: "debug"
       mixins: "x86"
     }
     builders {
       name: "linux-clang-rel-x64"
-      dimensions: "os:Ubuntu-16.04"
+      mixins: "linux"
       mixins: "release"
       mixins: "x64"
     }
     builders {
       name: "linux-clang-rel-x86"
-      dimensions: "os:Ubuntu-16.04"
+      mixins: "linux"
       mixins: "release"
       mixins: "x86"
     }
@@ -146,36 +178,38 @@
       mixins: "release"
     }
 
-    # Linux: test combinations of {clang,msvc}x{release,debug}x{x86,x64}
+    # Windows: test combinations of {clang,msvc}x{release,debug}x{x86,x64}
     # but limit msvc to x64
     builders {
       name: "win-clang-dbg-x64"
-      dimensions: "os:Windows"
+      mixins: "windows"
       mixins: "clang"
       mixins: "debug"
       mixins: "x64"
     }
     builders {
       name: "win-clang-dbg-x86"
-      dimensions: "os:Windows"
+      mixins: "windows"
       mixins: "clang"
       mixins: "debug"
       mixins: "x86"
     }
     builders {
       name: "win-clang-rel-x64"
-      dimensions: "os:Windows"
+      mixins: "windows"
       mixins: "clang"
       mixins: "release"
       mixins: "x64"
     }
     builders {
       name: "win-clang-rel-x86"
-      dimensions: "os:Windows"
+      mixins: "windows"
       mixins: "clang"
       mixins: "release"
       mixins: "x86"
     }
+    # GOMA doesn't support MSVC builds so we don't used the "windows" mixin and
+    # instead list the dimensions: "os:Windows" directly.
     builders {
       name: "win-msvc-dbg-x64"
       dimensions: "os:Windows"
@@ -234,28 +268,28 @@
     # CI Mirror only
     builders {
       name: "linux-clang-dbg-x64"
-      dimensions: "os:Ubuntu-16.04"
+      mixins: "linux"
       mixins: "debug"
       mixins: "x64"
     }
     # Actually on the CQ
     builders {
       name: "linux-clang-dbg-x86"
-      dimensions: "os:Ubuntu-16.04"
+      mixins: "linux"
       mixins: "debug"
       mixins: "x86"
     }
     # Actually on the CQ
     builders {
       name: "linux-clang-rel-x64"
-      dimensions: "os:Ubuntu-16.04"
+      mixins: "linux"
       mixins: "release"
       mixins: "x64"
     }
     # Actually on the CQ
     builders {
       name: "linux-clang-rel-x86"
-      dimensions: "os:Ubuntu-16.04"
+      mixins: "linux"
       mixins: "release"
       mixins: "x86"
     }
@@ -276,7 +310,7 @@
     # Actually on the CQ
     builders {
       name: "win-clang-dbg-x64"
-      dimensions: "os:Windows"
+      mixins: "windows"
       mixins: "clang"
       mixins: "debug"
       mixins: "x64"
@@ -284,7 +318,7 @@
     # Actually on the CQ
     builders {
       name: "win-clang-dbg-x86"
-      dimensions: "os:Windows"
+      mixins: "windows"
       mixins: "clang"
       mixins: "debug"
       mixins: "x86"
@@ -292,7 +326,7 @@
     # Actually on the CQ
     builders {
       name: "win-clang-rel-x64"
-      dimensions: "os:Windows"
+      mixins: "windows"
       mixins: "clang"
       mixins: "release"
       mixins: "x64"
@@ -300,11 +334,13 @@
     # CI Mirror only
     builders {
       name: "win-clang-rel-x86"
-      dimensions: "os:Windows"
+      mixins: "windows"
       mixins: "clang"
       mixins: "release"
       mixins: "x86"
     }
+    # GOMA doesn't support MSVC builds so we don't used the "windows" mixin and
+    # instead list the dimensions: "os:Windows" directly.
     # CI Mirror only
     builders {
       name: "win-msvc-dbg-x64"