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