From 31d0ebd65fca739eae4876931a2bc148d0c187b8 Mon Sep 17 00:00:00 2001 From: Victor Hugo Vianna Silva Date: Tue, 14 Oct 2025 11:28:15 +0100 Subject: [PATCH] Update Mac version in bots Bug: 448679376 Change-Id: I077cd31073889afe0519195a8c459570bc95e4a8 --- infra/config/cr-buildbucket.cfg | 60 ++++++++++++++++++---- infra/config/main.star | 19 ++++--- infra/recipe_modules/macos_sdk/__init__.py | 36 +++++++++++++ 3 files changed, 99 insertions(+), 16 deletions(-) create mode 100644 infra/recipe_modules/macos_sdk/__init__.py diff --git a/infra/config/cr-buildbucket.cfg b/infra/config/cr-buildbucket.cfg index 108fe2b25..6ee2a924e 100644 --- a/infra/config/cr-buildbucket.cfg +++ b/infra/config/cr-buildbucket.cfg @@ -336,7 +336,7 @@ buckets { swarming_host: "chromium-swarm.appspot.com" swarming_tags: "vpython:native-python-wrapper" dimensions: "cpu:x86-64" - dimensions: "os:Mac-12" + dimensions: "os:Mac-15" dimensions: "pool:luci.flex.ci" recipe { name: "libyuv/libyuv" @@ -346,6 +346,10 @@ buckets { properties_j: "builder_group:\"client.libyuv\"" } execution_timeout_secs: 10800 + caches { + name: "macos_sdk" + path: "macos_sdk" + } build_numbers: YES service_account: "libyuv-ci-builder@chops-service-accounts.iam.gserviceaccount.com" } @@ -354,7 +358,7 @@ buckets { swarming_host: "chromium-swarm.appspot.com" swarming_tags: "vpython:native-python-wrapper" dimensions: "cpu:x86-64" - dimensions: "os:Mac-12" + dimensions: "os:Mac-15" dimensions: "pool:luci.flex.ci" recipe { name: "libyuv/libyuv" @@ -364,6 +368,10 @@ buckets { properties_j: "builder_group:\"client.libyuv\"" } execution_timeout_secs: 10800 + caches { + name: "macos_sdk" + path: "macos_sdk" + } build_numbers: YES service_account: "libyuv-ci-builder@chops-service-accounts.iam.gserviceaccount.com" } @@ -372,7 +380,7 @@ buckets { swarming_host: "chromium-swarm.appspot.com" swarming_tags: "vpython:native-python-wrapper" dimensions: "cpu:x86-64" - dimensions: "os:Mac-12" + dimensions: "os:Mac-15" dimensions: "pool:luci.flex.ci" recipe { name: "libyuv/libyuv" @@ -382,6 +390,10 @@ buckets { properties_j: "builder_group:\"client.libyuv\"" } execution_timeout_secs: 10800 + caches { + name: "macos_sdk" + path: "macos_sdk" + } build_numbers: YES service_account: "libyuv-ci-builder@chops-service-accounts.iam.gserviceaccount.com" } @@ -542,7 +554,7 @@ buckets { swarming_host: "chromium-swarm.appspot.com" swarming_tags: "vpython:native-python-wrapper" dimensions: "cpu:x86-64" - dimensions: "os:Mac-12" + dimensions: "os:Mac-15" dimensions: "pool:luci.flex.ci" recipe { name: "libyuv/libyuv" @@ -552,6 +564,10 @@ buckets { properties_j: "builder_group:\"client.libyuv\"" } execution_timeout_secs: 10800 + caches { + name: "macos_sdk" + path: "macos_sdk" + } build_numbers: YES service_account: "libyuv-ci-builder@chops-service-accounts.iam.gserviceaccount.com" } @@ -560,7 +576,7 @@ buckets { swarming_host: "chromium-swarm.appspot.com" swarming_tags: "vpython:native-python-wrapper" dimensions: "cpu:x86-64" - dimensions: "os:Mac-12" + dimensions: "os:Mac-15" dimensions: "pool:luci.flex.ci" recipe { name: "libyuv/libyuv" @@ -570,6 +586,10 @@ buckets { properties_j: "builder_group:\"client.libyuv\"" } execution_timeout_secs: 10800 + caches { + name: "macos_sdk" + path: "macos_sdk" + } build_numbers: YES service_account: "libyuv-ci-builder@chops-service-accounts.iam.gserviceaccount.com" } @@ -718,7 +738,7 @@ buckets { swarming_host: "chromium-swarm.appspot.com" swarming_tags: "vpython:native-python-wrapper" dimensions: "cpu:x86-64" - dimensions: "os:Mac-12" + dimensions: "os:Mac-15" dimensions: "pool:luci.flex.try" recipe { name: "libyuv/libyuv" @@ -728,6 +748,10 @@ buckets { properties_j: "builder_group:\"tryserver.libyuv\"" } execution_timeout_secs: 10800 + caches { + name: "macos_sdk" + path: "macos_sdk" + } build_numbers: YES service_account: "libyuv-try-builder@chops-service-accounts.iam.gserviceaccount.com" } @@ -736,7 +760,7 @@ buckets { swarming_host: "chromium-swarm.appspot.com" swarming_tags: "vpython:native-python-wrapper" dimensions: "cpu:x86-64" - dimensions: "os:Mac-12" + dimensions: "os:Mac-15" dimensions: "pool:luci.flex.try" recipe { name: "libyuv/libyuv" @@ -746,6 +770,10 @@ buckets { properties_j: "builder_group:\"tryserver.libyuv\"" } execution_timeout_secs: 10800 + caches { + name: "macos_sdk" + path: "macos_sdk" + } build_numbers: YES service_account: "libyuv-try-builder@chops-service-accounts.iam.gserviceaccount.com" } @@ -906,7 +934,7 @@ buckets { swarming_host: "chromium-swarm.appspot.com" swarming_tags: "vpython:native-python-wrapper" dimensions: "cpu:x86-64" - dimensions: "os:Mac-12" + dimensions: "os:Mac-15" dimensions: "pool:luci.flex.try" recipe { name: "libyuv/libyuv" @@ -916,6 +944,10 @@ buckets { properties_j: "builder_group:\"tryserver.libyuv\"" } execution_timeout_secs: 10800 + caches { + name: "macos_sdk" + path: "macos_sdk" + } build_numbers: YES service_account: "libyuv-try-builder@chops-service-accounts.iam.gserviceaccount.com" } @@ -924,7 +956,7 @@ buckets { swarming_host: "chromium-swarm.appspot.com" swarming_tags: "vpython:native-python-wrapper" dimensions: "cpu:x86-64" - dimensions: "os:Mac-12" + dimensions: "os:Mac-15" dimensions: "pool:luci.flex.try" recipe { name: "libyuv/libyuv" @@ -934,6 +966,10 @@ buckets { properties_j: "builder_group:\"tryserver.libyuv\"" } execution_timeout_secs: 10800 + caches { + name: "macos_sdk" + path: "macos_sdk" + } build_numbers: YES service_account: "libyuv-try-builder@chops-service-accounts.iam.gserviceaccount.com" } @@ -942,7 +978,7 @@ buckets { swarming_host: "chromium-swarm.appspot.com" swarming_tags: "vpython:native-python-wrapper" dimensions: "cpu:x86-64" - dimensions: "os:Mac-12" + dimensions: "os:Mac-15" dimensions: "pool:luci.flex.try" recipe { name: "libyuv/libyuv" @@ -952,6 +988,10 @@ buckets { properties_j: "builder_group:\"tryserver.libyuv\"" } execution_timeout_secs: 10800 + caches { + name: "macos_sdk" + path: "macos_sdk" + } build_numbers: YES service_account: "libyuv-try-builder@chops-service-accounts.iam.gserviceaccount.com" } diff --git a/infra/config/main.star b/infra/config/main.star index 97a470085..4d6ff5b23 100755 --- a/infra/config/main.star +++ b/infra/config/main.star @@ -191,14 +191,14 @@ def get_os_dimensions(os): if os == "android": return {"device_type": "walleye"} if os == "ios" or os == "mac": - return {"os": "Mac-12", "cpu": "x86-64"} + return {"os": "Mac-15", "cpu": "x86-64"} elif os == "win": return {"os": "Windows-10", "cores": "8", "cpu": "x86-64"} elif os == "linux": return {"os": "Ubuntu-22.04", "cores": "8", "cpu": "x86-64"} return {} -def libyuv_ci_builder(name, dimensions, properties, triggered_by): +def libyuv_ci_builder(name, dimensions, properties, triggered_by, caches): return luci.builder( name = name, dimensions = dimensions, @@ -213,9 +213,10 @@ def libyuv_ci_builder(name, dimensions, properties, triggered_by): name = "libyuv/libyuv", cipd_package = "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build", ), + caches = caches ) -def libyuv_try_builder(name, dimensions, properties, recipe_name = "libyuv/libyuv"): +def libyuv_try_builder(name, dimensions, properties, caches, recipe_name = "libyuv/libyuv"): return luci.builder( name = name, dimensions = dimensions, @@ -229,6 +230,7 @@ def libyuv_try_builder(name, dimensions, properties, recipe_name = "libyuv/libyu name = recipe_name, cipd_package = "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build", ), + caches = caches ) def get_build_properties(bucket): @@ -243,6 +245,11 @@ def get_build_properties(bucket): }, } +def get_caches(os): + if os in ("mac", "ios"): + return [swarming.cache("macos_sdk", name = "macos_sdk")] + return [] + def ci_builder(name, os, category, short_name = None): dimensions = get_os_dimensions(os) properties = get_build_properties("ci") @@ -252,7 +259,7 @@ def ci_builder(name, os, category, short_name = None): triggered_by = ["master-gitiles-trigger" if os != "android" else "Android Debug"] libyuv_ci_view(name, category, short_name) - return libyuv_ci_builder(name, dimensions, properties, triggered_by) + return libyuv_ci_builder(name, dimensions, properties, triggered_by, get_caches(os)) def try_builder(name, os, experiment_percentage = None): dimensions = get_os_dimensions(os) @@ -266,11 +273,11 @@ def try_builder(name, os, experiment_percentage = None): properties["repo_name"] = "libyuv" properties["runhooks"] = True libyuv_try_job_verifier(name, "config", experiment_percentage) - return libyuv_try_builder(name, dimensions, properties, recipe_name) + return libyuv_try_builder(name, dimensions, properties, get_caches(os), recipe_name) libyuv_try_job_verifier(name, "master", experiment_percentage) libyuv_try_view(name) - return libyuv_try_builder(name, dimensions, properties) + return libyuv_try_builder(name, dimensions, properties, get_caches(os)) luci.builder( name = "DEPS Autoroller", diff --git a/infra/recipe_modules/macos_sdk/__init__.py b/infra/recipe_modules/macos_sdk/__init__.py new file mode 100644 index 000000000..a884ba2c5 --- /dev/null +++ b/infra/recipe_modules/macos_sdk/__init__.py @@ -0,0 +1,36 @@ +# Copyright 2025 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +from recipe_engine.recipe_api import Property +from recipe_engine.config import ConfigGroup, Single + +DEPS = [ + 'recipe_engine/cipd', + 'recipe_engine/context', + 'recipe_engine/json', + 'recipe_engine/path', + 'recipe_engine/platform', + 'recipe_engine/step', +] +PROPERTIES = { + '$libyuv/macos_sdk': + Property( + help='Properties specifically for the macos_sdk module.', + param_name='sdk_properties', + kind=ConfigGroup( + sdk_version=Single(str), + tool_pkg=Single(str), + tool_ver=Single(str), + ), + default={ + # See https://xcodereleases.com/. + 'sdk_version': + '16c5032a', # Xcode 16.2 + 'tool_package': + 'infra/tools/mac_toolchain/${platform}', + 'tool_version': + 'git_revision:29f9c476dd951c2dd7b0d43fa10ac2bd3f185787', + }, + ) +}