Enable Dawn standalone CQ builder

Enables dawn-cq-linux-x64-rel to be added on (almost) all CLs and block
CL submission on failure. This is currently the same as the
dawn-try-linux-x64-sws-rel manual-only trybot, but will have additional
tested configs added to it as more Dawn standalone builders are moved to
the gn_v2 recipe.

Bug: 385317083
Change-Id: I8dcd197be1a20d97635011c1c045bd0b7dcb461b
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/257414
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
diff --git a/infra/config/global/generated/luci/commit-queue.cfg b/infra/config/global/generated/luci/commit-queue.cfg
index 5642d14..c819131 100644
--- a/infra/config/global/generated/luci/commit-queue.cfg
+++ b/infra/config/global/generated/luci/commit-queue.cfg
@@ -471,8 +471,43 @@
       }
       builders {
         name: "dawn/try/dawn-cq-linux-x64-rel"
-        includable_only: true
         disable_reuse_footers: "Include-Ci-Only-Tests"
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          gerrit_ref_regexp: ".*"
+          path_regexp: "tools/src/.+"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          gerrit_ref_regexp: ".*"
+          path_regexp: "webgpu-cts/compat-expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          gerrit_ref_regexp: ".*"
+          path_regexp: "webgpu-cts/expectations.txt"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          gerrit_ref_regexp: ".*"
+          path_regexp: "infra/config/.+"
+          exclude: true
+        }
+        location_filters {
+          gerrit_host_regexp: ".*"
+          gerrit_project_regexp: ".*"
+          gerrit_ref_regexp: ".*"
+          path_regexp: "infra/config/generated/builders/try/dawn-cq-linux-x64-rel/.+"
+        }
+        mode_allowlist: "DRY_RUN"
+        mode_allowlist: "FULL_RUN"
       }
       builders {
         name: "dawn/try/dawn-try-linux-x64-sws-rel"
diff --git a/infra/config/global/generated/luci/cr-buildbucket.cfg b/infra/config/global/generated/luci/cr-buildbucket.cfg
index d0b532b..e873a6b 100644
--- a/infra/config/global/generated/luci/cr-buildbucket.cfg
+++ b/infra/config/global/generated/luci/cr-buildbucket.cfg
@@ -2619,6 +2619,10 @@
         '      ]'
         '    }'
         '  },'
+        '  "$build/flakiness": {'
+        '    "check_for_flakiness": true,'
+        '    "check_for_flakiness_with_resultdb": true'
+        '  },'
         '  "$build/siso": {'
         '    "configs": ['
         '      "builder"'
@@ -2632,6 +2636,7 @@
         '    "remote_jobs": 250'
         '  },'
         '  "builder_group": "try",'
+        '  "cq": "path-based",'
         '  "recipe": "dawn/gn_v2_trybot"'
         '}'
       build_numbers: YES
diff --git a/infra/config/global/gn_standalone_try.star b/infra/config/global/gn_standalone_try.star
index a5d7bcb..37fa201 100644
--- a/infra/config/global/gn_standalone_try.star
+++ b/infra/config/global/gn_standalone_try.star
@@ -46,6 +46,18 @@
     siso_remote_jobs = siso.remote_jobs.DEFAULT,
 )
 
+# These are commonly touched locations which do not have relevant testing on CQ
+# builders. `gn analyze` should avoid compiling/testing for CLs that only touch
+# these locations, but we can avoid starting a build entirely to save a bit of
+# resources.
+LOCATIONS_EXCLUDED_FROM_STANDALONE_CQ = [
+    # Go code.
+    cq.location_filter(exclude = True, path_regexp = "tools/src/.+"),
+    # WebGPU CTS expectation files, which are only relevant for Chromium.
+    cq.location_filter(exclude = True, path_regexp = "webgpu-cts/compat-expectations.txt"),
+    cq.location_filter(exclude = True, path_regexp = "webgpu-cts/expectations.txt"),
+]
+
 # CQ Builders
 
 try_.builder(
@@ -59,6 +71,9 @@
         "ci/dawn-linux-x64-sws-rel",
     ],
     gn_args = "ci/dawn-linux-x64-builder-rel",
+    tryjob = try_.job(
+        location_filters = LOCATIONS_EXCLUDED_FROM_STANDALONE_CQ,
+    ),
 )
 
 # Manual trybots