infra: add cmake-win-msvc-dbg/rel-x64 bots (experimental)

Depends on the following CL:
https://chromium-review.googlesource.com/c/chromium/tools/build/+/5370179

Bug: dawn:2435
Change-Id: I25906c256650e719deb262b61a73a46bbcebf491
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/179141
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
diff --git a/infra/config/global/generated/commit-queue.cfg b/infra/config/global/generated/commit-queue.cfg
index 9209c8e..f9812c6 100644
--- a/infra/config/global/generated/commit-queue.cfg
+++ b/infra/config/global/generated/commit-queue.cfg
@@ -286,6 +286,36 @@
         }
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: ".*"
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "\\.github/.+"
+          exclude: true
+        }
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: ".*"
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "\\.github/.+"
+          exclude: true
+        }
+      }
+      builders {
         name: "dawn/try/dawn_analysis"
         owner_whitelist_group: "project-dawn-tryjob-access"
         mode_allowlist: "ANALYZER_RUN"
@@ -530,6 +560,14 @@
         experiment_percentage: 100
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+      }
+      builders {
         name: "dawn/try/linux-clang-dbg-x64"
       }
       builders {
@@ -640,6 +678,14 @@
         experiment_percentage: 100
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+      }
+      builders {
         name: "dawn/try/linux-clang-dbg-x64"
       }
       builders {
@@ -750,6 +796,14 @@
         experiment_percentage: 100
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+      }
+      builders {
         name: "dawn/try/linux-clang-dbg-x64"
       }
       builders {
@@ -860,6 +914,14 @@
         experiment_percentage: 100
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+      }
+      builders {
         name: "dawn/try/linux-clang-dbg-x64"
       }
       builders {
@@ -970,6 +1032,14 @@
         experiment_percentage: 100
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+      }
+      builders {
         name: "dawn/try/linux-clang-dbg-x64"
       }
       builders {
@@ -1080,6 +1150,14 @@
         experiment_percentage: 100
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+      }
+      builders {
         name: "dawn/try/linux-clang-dbg-x64"
       }
       builders {
@@ -1190,6 +1268,14 @@
         experiment_percentage: 100
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+      }
+      builders {
         name: "dawn/try/linux-clang-dbg-x64"
       }
       builders {
@@ -1300,6 +1386,14 @@
         experiment_percentage: 100
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+      }
+      builders {
         name: "dawn/try/linux-clang-dbg-x64"
       }
       builders {
@@ -1410,6 +1504,14 @@
         experiment_percentage: 100
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+      }
+      builders {
         name: "dawn/try/linux-clang-dbg-x64"
       }
       builders {
@@ -1520,6 +1622,14 @@
         experiment_percentage: 100
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+      }
+      builders {
         name: "dawn/try/linux-clang-dbg-x64"
       }
       builders {
@@ -1633,6 +1743,14 @@
         experiment_percentage: 100
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+      }
+      builders {
         name: "dawn/try/linux-clang-dbg-x64"
       }
       builders {
@@ -1746,6 +1864,14 @@
         experiment_percentage: 100
       }
       builders {
+        name: "dawn/try/cmake-win-msvc-dbg-x64"
+        experiment_percentage: 100
+      }
+      builders {
+        name: "dawn/try/cmake-win-msvc-rel-x64"
+        experiment_percentage: 100
+      }
+      builders {
         name: "dawn/try/linux-clang-dbg-x64"
       }
       builders {
diff --git a/infra/config/global/generated/cr-buildbucket.cfg b/infra/config/global/generated/cr-buildbucket.cfg
index 0ed673f..3281406 100644
--- a/infra/config/global/generated/cr-buildbucket.cfg
+++ b/infra/config/global/generated/cr-buildbucket.cfg
@@ -171,6 +171,50 @@
       service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
+      name: "cmake-win-msvc-dbg-x64"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.flex.ci"
+      recipe {
+        name: "dawn/cmake"
+        cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
+        cipd_version: "refs/heads/main"
+        properties_j: "asan:false"
+        properties_j: "clang:false"
+        properties_j: "debug:true"
+        properties_j: "target_cpu:\"x64\""
+        properties_j: "ubsan:false"
+      }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
+      service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
+    }
+    builders {
+      name: "cmake-win-msvc-rel-x64"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.flex.ci"
+      recipe {
+        name: "dawn/cmake"
+        cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
+        cipd_version: "refs/heads/main"
+        properties_j: "asan:false"
+        properties_j: "clang:false"
+        properties_j: "debug:false"
+        properties_j: "target_cpu:\"x64\""
+        properties_j: "ubsan:false"
+      }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
+      service_account: "dawn-ci-builder@chops-service-accounts.iam.gserviceaccount.com"
+    }
+    builders {
       name: "cron-linux-clang-rel-x64"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "cpu:x86-64"
@@ -655,6 +699,52 @@
       service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
     }
     builders {
+      name: "cmake-win-msvc-dbg-x64"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.flex.try"
+      recipe {
+        name: "dawn/cmake"
+        cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
+        cipd_version: "refs/heads/main"
+        properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
+        properties_j: "asan:false"
+        properties_j: "clang:false"
+        properties_j: "debug:true"
+        properties_j: "target_cpu:\"x64\""
+        properties_j: "ubsan:false"
+      }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
+      service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
+    }
+    builders {
+      name: "cmake-win-msvc-rel-x64"
+      swarming_host: "chromium-swarm.appspot.com"
+      dimensions: "cpu:x86-64"
+      dimensions: "os:Windows-10"
+      dimensions: "pool:luci.flex.try"
+      recipe {
+        name: "dawn/cmake"
+        cipd_package: "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build"
+        cipd_version: "refs/heads/main"
+        properties_j: "$depot_tools/bot_update:{\"apply_patch_on_gclient\":true}"
+        properties_j: "asan:false"
+        properties_j: "clang:false"
+        properties_j: "debug:false"
+        properties_j: "target_cpu:\"x64\""
+        properties_j: "ubsan:false"
+      }
+      caches {
+        name: "win_toolchain"
+        path: "win_toolchain"
+      }
+      service_account: "dawn-try-builder@chops-service-accounts.iam.gserviceaccount.com"
+    }
+    builders {
       name: "dawn_analysis"
       swarming_host: "chromium-swarm.appspot.com"
       dimensions: "cores:8"
diff --git a/infra/config/global/generated/luci-milo.cfg b/infra/config/global/generated/luci-milo.cfg
index a2881f4..812c36e 100644
--- a/infra/config/global/generated/luci-milo.cfg
+++ b/infra/config/global/generated/luci-milo.cfg
@@ -120,6 +120,16 @@
     category: "mac"
     short_name: "rel"
   }
+  builders {
+    name: "buildbucket/luci.dawn.ci/cmake-win-msvc-dbg-x64"
+    category: "win|msvc"
+    short_name: "dbg"
+  }
+  builders {
+    name: "buildbucket/luci.dawn.ci/cmake-win-msvc-rel-x64"
+    category: "win|msvc"
+    short_name: "rel"
+  }
 }
 consoles {
   id: "try"
@@ -188,6 +198,12 @@
     name: "buildbucket/luci.dawn.try/cmake-mac-rel"
   }
   builders {
+    name: "buildbucket/luci.dawn.try/cmake-win-msvc-dbg-x64"
+  }
+  builders {
+    name: "buildbucket/luci.dawn.try/cmake-win-msvc-rel-x64"
+  }
+  builders {
     name: "buildbucket/luci.dawn.try/dawn_analysis"
   }
   builder_view_only: true
diff --git a/infra/config/global/generated/luci-notify.cfg b/infra/config/global/generated/luci-notify.cfg
index b237bdf..2261e6e 100644
--- a/infra/config/global/generated/luci-notify.cfg
+++ b/infra/config/global/generated/luci-notify.cfg
@@ -126,6 +126,34 @@
   }
   builders {
     bucket: "ci"
+    name: "cmake-win-msvc-dbg-x64"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
+    name: "cmake-win-msvc-rel-x64"
+    repository: "https://dawn.googlesource.com/dawn"
+  }
+}
+notifiers {
+  notifications {
+    on_occurrence: FAILURE
+    on_occurrence: INFRA_FAILURE
+    email {
+      rotation_urls: "https://chrome-ops-rotation-proxy.appspot.com/current/grotation:webgpu-gardener"
+    }
+  }
+  builders {
+    bucket: "ci"
     name: "cron-linux-clang-rel-x64"
   }
 }
diff --git a/infra/config/global/generated/luci-scheduler.cfg b/infra/config/global/generated/luci-scheduler.cfg
index 6c3f3f0..28dc35c 100644
--- a/infra/config/global/generated/luci-scheduler.cfg
+++ b/infra/config/global/generated/luci-scheduler.cfg
@@ -85,6 +85,26 @@
   }
 }
 job {
+  id: "cmake-win-msvc-dbg-x64"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "cmake-win-msvc-dbg-x64"
+  }
+}
+job {
+  id: "cmake-win-msvc-rel-x64"
+  realm: "ci"
+  acl_sets: "ci"
+  buildbucket {
+    server: "cr-buildbucket.appspot.com"
+    bucket: "ci"
+    builder: "cmake-win-msvc-rel-x64"
+  }
+}
+job {
   id: "cron-linux-clang-rel-x64"
   realm: "ci"
   schedule: "0 0 0 * * * *"
@@ -238,6 +258,8 @@
   triggers: "cmake-linux-clang-rel-x64-ubsan"
   triggers: "cmake-mac-dbg"
   triggers: "cmake-mac-rel"
+  triggers: "cmake-win-msvc-dbg-x64"
+  triggers: "cmake-win-msvc-rel-x64"
   triggers: "linux-clang-dbg-x64"
   triggers: "linux-clang-dbg-x86"
   triggers: "linux-clang-rel-x64"
diff --git a/infra/config/global/main.star b/infra/config/global/main.star
index 66b3704..5c873f1 100755
--- a/infra/config/global/main.star
+++ b/infra/config/global/main.star
@@ -753,6 +753,8 @@
 dawn_cmake_standalone_builder("cmake-linux-clang-rel-x64-ubsan", clang = True, debug = False, cpu = "x64", asan = False, ubsan = True)
 dawn_cmake_standalone_builder("cmake-mac-dbg", clang = True, debug = True, cpu = "x64", asan = False, ubsan = False, experimental = True)
 dawn_cmake_standalone_builder("cmake-mac-rel", clang = True, debug = False, cpu = "x64", asan = False, ubsan = False, experimental = True)
+dawn_cmake_standalone_builder("cmake-win-msvc-dbg-x64", clang = False, debug = True, cpu = "x64", asan = False, ubsan = False, experimental = True)
+dawn_cmake_standalone_builder("cmake-win-msvc-rel-x64", clang = False, debug = False, cpu = "x64", asan = False, ubsan = False, experimental = True)
 
 chromium_dawn_tryjob("linux")
 chromium_dawn_tryjob("mac")