Add cmake/msvc exclusion filters

Adds exclusionary location filters to the cmake and msvc trybots so that
they are not added to CLs that only touch unrelated files.

Bug: chromium:342602621
Change-Id: I650eab0d15c56cd8c05371d48250c56a100cb799
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/189766
Auto-Submit: Brian Sheedy <bsheedy@google.com>
Reviewed-by: Austin Eng <enga@chromium.org>
Commit-Queue: Austin Eng <enga@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@google.com>
diff --git a/infra/config/global/generated/commit-queue.cfg b/infra/config/global/generated/commit-queue.cfg
index b041e56..b70ccb6 100644
--- a/infra/config/global/generated/commit-queue.cfg
+++ b/infra/config/global/generated/commit-queue.cfg
@@ -209,6 +209,18 @@
           path_regexp: "\\.github/.+"
           exclude: true
         }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "webgpu-cts/[^/]*expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
       }
       builders {
         name: "dawn/try/cmake-linux-clang-dbg-x64-asan"
@@ -223,6 +235,18 @@
           path_regexp: "\\.github/.+"
           exclude: true
         }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "webgpu-cts/[^/]*expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
       }
       builders {
         name: "dawn/try/cmake-linux-clang-dbg-x64-ubsan"
@@ -237,6 +261,18 @@
           path_regexp: "\\.github/.+"
           exclude: true
         }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "webgpu-cts/[^/]*expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
       }
       builders {
         name: "dawn/try/cmake-linux-clang-rel-x64"
@@ -251,6 +287,18 @@
           path_regexp: "\\.github/.+"
           exclude: true
         }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "webgpu-cts/[^/]*expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
       }
       builders {
         name: "dawn/try/cmake-linux-clang-rel-x64-asan"
@@ -265,6 +313,18 @@
           path_regexp: "\\.github/.+"
           exclude: true
         }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "webgpu-cts/[^/]*expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
       }
       builders {
         name: "dawn/try/cmake-linux-clang-rel-x64-ubsan"
@@ -279,6 +339,18 @@
           path_regexp: "\\.github/.+"
           exclude: true
         }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "webgpu-cts/[^/]*expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
       }
       builders {
         name: "dawn/try/cmake-mac-dbg"
@@ -293,6 +365,18 @@
           path_regexp: "\\.github/.+"
           exclude: true
         }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "webgpu-cts/[^/]*expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
       }
       builders {
         name: "dawn/try/cmake-mac-rel"
@@ -307,6 +391,18 @@
           path_regexp: "\\.github/.+"
           exclude: true
         }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "webgpu-cts/[^/]*expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
       }
       builders {
         name: "dawn/try/cmake-win-msvc-dbg-x64"
@@ -321,6 +417,18 @@
           path_regexp: "\\.github/.+"
           exclude: true
         }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "webgpu-cts/[^/]*expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
       }
       builders {
         name: "dawn/try/cmake-win-msvc-rel-x64"
@@ -335,6 +443,18 @@
           path_regexp: "\\.github/.+"
           exclude: true
         }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "webgpu-cts/[^/]*expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
       }
       builders {
         name: "dawn/try/dawn_analysis"
@@ -498,6 +618,18 @@
           path_regexp: "\\.github/.+"
           exclude: true
         }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "webgpu-cts/[^/]*expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
       }
       builders {
         name: "dawn/try/win-msvc-rel-x64"
@@ -512,6 +644,18 @@
           path_regexp: "\\.github/.+"
           exclude: true
         }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "webgpu-cts/[^/]*expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
       }
       retry_config {
         single_quota: 1
diff --git a/infra/config/global/main.star b/infra/config/global/main.star
index e2d5a28..ec625d4 100755
--- a/infra/config/global/main.star
+++ b/infra/config/global/main.star
@@ -174,6 +174,21 @@
     ),
 )
 
+# File exclusion filters meant for use on cmake and msvc trybots since these
+# files do not affect compilation for either.
+cmake_msvc_file_exclusions = [
+    # WebGPU CTS expectations, only affects builders that run WebGPU CTS.
+    cq.location_filter(
+        path_regexp = "webgpu-cts/[^/]*expectations.txt",
+        exclude = True,
+    ),
+    # Tools written in Go.
+    cq.location_filter(
+        path_regexp = "tools/src/.+",
+        exclude = True,
+    ),
+]
+
 luci.notifier(
     name = "gardener-notifier",
     notify_rotation_urls = [
@@ -447,6 +462,10 @@
             builder = "try/" + name,
         )
 
+        additional_filters = []
+        if config == "msvc":
+            additional_filters = cmake_msvc_file_exclusions
+
         luci.cq_tryjob_verifier(
             cq_group = "Dawn-CQ",
             builder = "dawn:try/" + name,
@@ -456,7 +475,7 @@
                     path_regexp = "\\.github/.+",
                     exclude = True,
                 ),
-            ],
+            ] + additional_filters,
         )
 
         # These builders run fine unbranched on branch CLs, so add them to the
@@ -532,7 +551,7 @@
                 path_regexp = "\\.github/.+",
                 exclude = True,
             ),
-        ],
+        ] + cmake_msvc_file_exclusions,
     )
 
     # These builders run fine unbranched on branch CLs, so add them to the