[infra] Enable Chrome plugins for chromium builders in Open Screen CQ This enables clang_use_chrome_plugins = true for the chromium_* embedder bots (chromium_linux_x64, chromium_mac_arm64, chromium_win_x64) in main.star. Previously, these builders ran with clang_use_chrome_plugins = false, preventing raw pointer analysis (raw_ptr_plugin) from running during Open Screen CQ checks. Any introduced raw pointer issues in Open Screen headers or code would pass Open Screen CQ and break the autoroller downstream on Chrome's bots. BUG: 520101123 Change-Id: Ic3b68234e305612ab6bd1752bc09b827f1a58537 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/7988669 Commit-Queue: Jordan Bayles <jophba@chromium.org> Reviewed-by: Muyao Xu <muyaoxu@google.com>
diff --git a/infra/config/global/generated/cr-buildbucket.cfg b/infra/config/global/generated/cr-buildbucket.cfg index 13cc443..c171007 100644 --- a/infra/config/global/generated/cr-buildbucket.cfg +++ b/infra/config/global/generated/cr-buildbucket.cfg
@@ -40,7 +40,7 @@ ' "server": "https://chromium-swarm.appspot.com"' ' },' ' "builder_group": "client.openscreen.chromium",' - ' "clang_use_chrome_plugins": false,' + ' "clang_use_chrome_plugins": true,' ' "is_ci": true,' ' "recipe": "chromium",' ' "target_cpu": "x64"' @@ -73,7 +73,7 @@ ' "server": "https://chromium-swarm.appspot.com"' ' },' ' "builder_group": "client.openscreen.chromium",' - ' "clang_use_chrome_plugins": false,' + ' "clang_use_chrome_plugins": true,' ' "is_ci": true,' ' "recipe": "chromium",' ' "target_cpu": "arm64"' @@ -110,7 +110,7 @@ ' "server": "https://chromium-swarm.appspot.com"' ' },' ' "builder_group": "client.openscreen.chromium",' - ' "clang_use_chrome_plugins": false,' + ' "clang_use_chrome_plugins": true,' ' "is_ci": true,' ' "recipe": "chromium",' ' "target_cpu": "x64"' @@ -394,7 +394,7 @@ ' "server": "https://chromium-swarm.appspot.com"' ' },' ' "builder_group": "client.openscreen.chromium",' - ' "clang_use_chrome_plugins": false,' + ' "clang_use_chrome_plugins": true,' ' "recipe": "chromium",' ' "target_cpu": "x64"' '}' @@ -426,7 +426,7 @@ ' "server": "https://chromium-swarm.appspot.com"' ' },' ' "builder_group": "client.openscreen.chromium",' - ' "clang_use_chrome_plugins": false,' + ' "clang_use_chrome_plugins": true,' ' "recipe": "chromium",' ' "target_cpu": "arm64"' '}' @@ -462,7 +462,7 @@ ' "server": "https://chromium-swarm.appspot.com"' ' },' ' "builder_group": "client.openscreen.chromium",' - ' "clang_use_chrome_plugins": false,' + ' "clang_use_chrome_plugins": true,' ' "recipe": "chromium",' ' "target_cpu": "x64"' '}'
diff --git a/infra/config/global/generated/project.cfg b/infra/config/global/generated/project.cfg index 7d68055..6f44a6d 100644 --- a/infra/config/global/generated/project.cfg +++ b/infra/config/global/generated/project.cfg
@@ -7,7 +7,7 @@ name: "openscreen" access: "group:all" lucicfg { - version: "1.46.2" + version: "1.46.3" package_dir: ".." config_dir: "generated" entry_point: "main.star"
diff --git a/infra/config/global/generated/realms.cfg b/infra/config/global/generated/realms.cfg index 5376a42..d8888f8 100644 --- a/infra/config/global/generated/realms.cfg +++ b/infra/config/global/generated/realms.cfg
@@ -59,6 +59,7 @@ bindings { role: "role/buildbucket.creator" principals: "group:mdb/chrome-build-access-sphinx" + principals: "group:project-openscreen-tryjob-access" } } realms { @@ -87,5 +88,6 @@ bindings { role: "role/buildbucket.creator" principals: "group:mdb/chrome-build-access-sphinx" + principals: "group:project-openscreen-tryjob-access" } }
diff --git a/infra/config/global/main.star b/infra/config/global/main.star index bcde9ac..9f9f390 100755 --- a/infra/config/global/main.star +++ b/infra/config/global/main.star
@@ -55,8 +55,10 @@ ) luci.milo( - logo = ("https://storage.googleapis.com/chrome-infra-public/logo/" + - "openscreen-logo.png"), + logo = ( + "https://storage.googleapis.com/chrome-infra-public/logo/" + + "openscreen-logo.png" + ), ) luci.logdog(gs_bucket = "chromium-luci-logdog") @@ -110,6 +112,7 @@ roles = "role/buildbucket.creator", groups = [ "mdb/chrome-build-access-sphinx", + "project-openscreen-tryjob-access", ], ), ], @@ -139,6 +142,7 @@ roles = "role/buildbucket.creator", groups = [ "mdb/chrome-build-access-sphinx", + "project-openscreen-tryjob-access", ], ), ], @@ -219,12 +223,13 @@ properties["use_coverage"] = True if cast_receiver: # TODO(crbug.com/337080120): enable receiver-side dependencies. - #properties["have_ffmpeg"] = True - #properties["have_libsdl2"] = True + # properties["have_ffmpeg"] = True + # properties["have_libsdl2"] = True properties["have_libopus"] = True properties["have_libvpx"] = True if chromium: properties["builder_group"] = "client.openscreen.chromium" + properties["clang_use_chrome_plugins"] = True properties[SISO_PROPERTY] = { "configs": ["builder"], "enable_cloud_monitoring": True, @@ -267,7 +272,11 @@ triggers = None if builder_type == "ci": - triggers = ["chromium-trigger" if recipe_id == "chromium" else "main-gitiles-trigger"] + triggers = [ + ( + "chromium-trigger" if recipe_id == "chromium" else "main-gitiles-trigger" + ), + ] luci.builder( name = name, @@ -275,8 +284,7 @@ executable = luci.recipe( name = recipe_id, recipe = recipe_id, - cipd_package = - "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build", + cipd_package = "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build", cipd_version = "refs/heads/main", use_bbagent = True, ), @@ -287,13 +295,13 @@ }, caches = caches, properties = properties, - service_account = - "openscreen-{}-builder@chops-service-accounts.iam.gserviceaccount.com" - .format(builder_type), + service_account = "openscreen-{}-builder@chops-service-accounts.iam.gserviceaccount.com".format( + builder_type, + ), triggered_by = triggers, ) - # CI jobs get triggered by |triggers|, try jobs get trigged by the commit + # CI jobs get triggered by |triggers|, try jobs get triggered by the commit # queue instead. if builder_type == "try": # We mark some bots as experimental to not block the build. @@ -323,11 +331,11 @@ def ci_builder(name, os, cpu, properties): """Defines a post submit builder. - Args: - name: name of the builder to define. - os: the target operating system. - cpu: the target central processing unit. - properties: configuration to be passed to GN. + Args: + name: name of the builder to define. + os: the target operating system. + cpu: the target central processing unit. + properties: configuration to be passed to GN. """ builder("ci", name, os, cpu, properties) @@ -378,8 +386,18 @@ "x86-64", get_properties("arm64", cast_receiver = True, is_component_build = False), ) -try_and_ci_builders("linux_x64_coverage", LINUX_VERSION, "x86-64", get_properties("x64", use_coverage = True)) -try_and_ci_builders("linux_x64", LINUX_VERSION, "x86-64", get_properties("x64", is_asan = True)) +try_and_ci_builders( + "linux_x64_coverage", + LINUX_VERSION, + "x86-64", + get_properties("x64", use_coverage = True), +) +try_and_ci_builders( + "linux_x64", + LINUX_VERSION, + "x86-64", + get_properties("x64", is_asan = True), +) try_and_ci_builders( "linux_x64_gcc", LINUX_VERSION,