infra: add "win_toolchain" to caches for Windows builds

Our dawn/gn build downloads the windows toolchain to "win_toolchain" in
the cache directory, but as we did not specify to cache this in our
builder definition, it is never cached. This cl fixes that.

Bug: dawn:2435
Change-Id: I36e15fa161051a548e29ae64dbdb2f07ed277f6d
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/178901
Kokoro: Kokoro <noreply+kokoro@google.com>
Kokoro: Austin Eng <enga@chromium.org>
Reviewed-by: Austin Eng <enga@chromium.org>
diff --git a/infra/config/global/generated/cr-buildbucket.cfg b/infra/config/global/generated/cr-buildbucket.cfg
index 51f77e7..0ed673f 100644
--- a/infra/config/global/generated/cr-buildbucket.cfg
+++ b/infra/config/global/generated/cr-buildbucket.cfg
@@ -352,6 +352,10 @@
         properties_j: "gen_fuzz_corpus:false"
         properties_j: "target_cpu:\"x64\""
       }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
       service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
@@ -370,6 +374,10 @@
         properties_j: "gen_fuzz_corpus:false"
         properties_j: "target_cpu:\"x86\""
       }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
       service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
@@ -388,6 +396,10 @@
         properties_j: "gen_fuzz_corpus:false"
         properties_j: "target_cpu:\"x64\""
       }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
       service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
@@ -406,6 +418,10 @@
         properties_j: "gen_fuzz_corpus:false"
         properties_j: "target_cpu:\"x86\""
       }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
       service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
@@ -423,6 +439,10 @@
         properties_j: "gen_fuzz_corpus:false"
         properties_j: "target_cpu:\"x64\""
       }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
       service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
@@ -440,6 +460,10 @@
         properties_j: "gen_fuzz_corpus:false"
         properties_j: "target_cpu:\"x64\""
       }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
       service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
   }
@@ -800,6 +824,10 @@
         properties_j: "gen_fuzz_corpus:false"
         properties_j: "target_cpu:\"x64\""
       }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
       service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
@@ -819,6 +847,10 @@
         properties_j: "gen_fuzz_corpus:false"
         properties_j: "target_cpu:\"x86\""
       }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
       service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
@@ -838,6 +870,10 @@
         properties_j: "gen_fuzz_corpus:false"
         properties_j: "target_cpu:\"x64\""
       }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
       service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
@@ -857,6 +893,10 @@
         properties_j: "gen_fuzz_corpus:false"
         properties_j: "target_cpu:\"x86\""
       }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
       service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
@@ -875,6 +915,10 @@
         properties_j: "gen_fuzz_corpus:false"
         properties_j: "target_cpu:\"x64\""
       }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
       service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
@@ -893,6 +937,10 @@
         properties_j: "gen_fuzz_corpus:false"
         properties_j: "target_cpu:\"x64\""
       }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
       service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
   }
diff --git a/infra/config/global/main.star b/infra/config/global/main.star
index 3e5c5be..66b3704 100755
--- a/infra/config/global/main.star
+++ b/infra/config/global/main.star
@@ -253,6 +253,10 @@
     if os.category == os_category.MAC:
         # Cache for mac_toolchain tool and XCode.app
         caches.append(swarming.cache(name = "osx_sdk", path = "osx_sdk"))
+    elif os.category == os_category.WINDOWS:
+        # Cache for win_toolchain tool
+        caches.append(swarming.cache(name = "win_toolchain", path = "win_toolchain"))
+
     return caches
 
 def get_default_dimensions(os, builder_name):