0

Add GPU M1 experimental builder

Adds an experimental builder for testing new OS versions on M1 Mac
Minis and a manual-only trybot mirror.

Bug: 1335471
Change-Id: I0aae59b3406f751da9569d6e50abf2591e7d4e55
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3700692
Auto-Submit: Brian Sheedy <bsheedy@chromium.org>
Commit-Queue: Garrett Beaty <gbeaty@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Garrett Beaty <gbeaty@google.com>
Cr-Commit-Position: refs/heads/main@{#1013660}
This commit is contained in:
Brian Sheedy
2022-06-13 21:19:37 +00:00
committed by Chromium LUCI CQ
parent 92bf665b67
commit e9c7afe584
16 changed files with 528 additions and 0 deletions
infra/config
generated
builders
ci
GPU FYI Mac arm64 Builder
Mac FYI Experimental Release (Apple M1)
try
gpu-fyi-try-mac-arm64-apple-m1-exp
luci
sheriff-rotations
subprojects
testing/buildbot
tools/mb

@ -27,6 +27,36 @@
}
}
},
{
"builder_id": {
"bucket": "ci",
"builder": "Mac FYI Experimental Release (Apple M1)",
"project": "chromium"
},
"builder_spec": {
"builder_group": "chromium.gpu.fyi",
"execution_mode": "TEST",
"legacy_chromium_config": {
"apply_configs": [
"mb"
],
"build_config": "Release",
"config": "chromium",
"target_arch": "arm",
"target_bits": 64,
"target_platform": "mac"
},
"legacy_gclient_config": {
"config": "chromium"
},
"parent": {
"bucket": "ci",
"builder": "GPU FYI Mac arm64 Builder",
"project": "chromium"
},
"run_tests_serially": true
}
},
{
"builder_id": {
"bucket": "ci",
@ -67,6 +97,11 @@
}
],
"builder_ids_in_scope_for_testing": [
{
"bucket": "ci",
"builder": "Mac FYI Experimental Release (Apple M1)",
"project": "chromium"
},
{
"bucket": "ci",
"builder": "Mac FYI Release (Apple M1)",
@ -74,6 +109,10 @@
}
],
"mirroring_builder_group_and_names": [
{
"builder": "gpu-fyi-try-mac-arm64-apple-m1-exp",
"group": "tryserver.chromium.mac"
},
{
"builder": "gpu-fyi-try-mac-arm64-apple-m1-rel",
"group": "tryserver.chromium.mac"

@ -0,0 +1,90 @@
{
"$build/chromium_tests_builder_config": {
"builder_config": {
"builder_db": {
"entries": [
{
"builder_id": {
"bucket": "ci",
"builder": "GPU FYI Mac arm64 Builder",
"project": "chromium"
},
"builder_spec": {
"builder_group": "chromium.gpu.fyi",
"execution_mode": "COMPILE_AND_TEST",
"legacy_chromium_config": {
"apply_configs": [
"mb"
],
"build_config": "Release",
"config": "chromium",
"target_arch": "arm",
"target_bits": 64,
"target_platform": "mac"
},
"legacy_gclient_config": {
"config": "chromium"
}
}
},
{
"builder_id": {
"bucket": "ci",
"builder": "Mac FYI Experimental Release (Apple M1)",
"project": "chromium"
},
"builder_spec": {
"builder_group": "chromium.gpu.fyi",
"execution_mode": "TEST",
"legacy_chromium_config": {
"apply_configs": [
"mb"
],
"build_config": "Release",
"config": "chromium",
"target_arch": "arm",
"target_bits": 64,
"target_platform": "mac"
},
"legacy_gclient_config": {
"config": "chromium"
},
"parent": {
"bucket": "ci",
"builder": "GPU FYI Mac arm64 Builder",
"project": "chromium"
},
"run_tests_serially": true
}
}
]
},
"builder_ids": [
{
"bucket": "ci",
"builder": "Mac FYI Experimental Release (Apple M1)",
"project": "chromium"
}
],
"mirroring_builder_group_and_names": [
{
"builder": "gpu-fyi-try-mac-arm64-apple-m1-exp",
"group": "tryserver.chromium.mac"
}
]
}
},
"$recipe_engine/resultdb/test_presentation": {
"column_keys": [],
"grouping_keys": [
"status",
"v.test_suite"
]
},
"builder_group": "chromium.gpu.fyi",
"perf_dashboard_machine_group": "ChromiumGPUFYI",
"recipe": "chromium",
"sheriff_rotations": [
"chromium.gpu"
]
}

@ -0,0 +1,92 @@
{
"$build/chromium_tests_builder_config": {
"builder_config": {
"builder_db": {
"entries": [
{
"builder_id": {
"bucket": "ci",
"builder": "GPU FYI Mac arm64 Builder",
"project": "chromium"
},
"builder_spec": {
"builder_group": "chromium.gpu.fyi",
"execution_mode": "COMPILE_AND_TEST",
"legacy_chromium_config": {
"apply_configs": [
"mb"
],
"build_config": "Release",
"config": "chromium",
"target_arch": "arm",
"target_bits": 64,
"target_platform": "mac"
},
"legacy_gclient_config": {
"config": "chromium"
}
}
},
{
"builder_id": {
"bucket": "ci",
"builder": "Mac FYI Experimental Release (Apple M1)",
"project": "chromium"
},
"builder_spec": {
"builder_group": "chromium.gpu.fyi",
"execution_mode": "TEST",
"legacy_chromium_config": {
"apply_configs": [
"mb"
],
"build_config": "Release",
"config": "chromium",
"target_arch": "arm",
"target_bits": 64,
"target_platform": "mac"
},
"legacy_gclient_config": {
"config": "chromium"
},
"parent": {
"bucket": "ci",
"builder": "GPU FYI Mac arm64 Builder",
"project": "chromium"
},
"run_tests_serially": true
}
}
]
},
"builder_ids": [
{
"bucket": "ci",
"builder": "GPU FYI Mac arm64 Builder",
"project": "chromium"
}
],
"builder_ids_in_scope_for_testing": [
{
"bucket": "ci",
"builder": "Mac FYI Experimental Release (Apple M1)",
"project": "chromium"
}
]
}
},
"$build/goma": {
"rpc_extra_params": "?prod",
"server_host": "goma.chromium.org",
"use_luci_auth": true
},
"$recipe_engine/resultdb/test_presentation": {
"column_keys": [],
"grouping_keys": [
"status",
"v.test_suite"
]
},
"builder_group": "tryserver.chromium.mac",
"recipe": "chromium_trybot"
}

@ -990,6 +990,10 @@ config_groups {
name: "chromium/try/gpu-fyi-try-mac-amd-retina-rel"
includable_only: true
}
builders {
name: "chromium/try/gpu-fyi-try-mac-arm64-apple-m1-exp"
includable_only: true
}
builders {
name: "chromium/try/gpu-fyi-try-mac-arm64-apple-m1-rel"
includable_only: true

@ -13217,6 +13217,88 @@ buckets {
}
}
}
builders {
name: "Mac FYI Experimental Release (Apple M1)"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "builderless:1"
dimensions: "cores:2"
dimensions: "cpu:x86-64"
dimensions: "os:Ubuntu-18.04"
dimensions: "pool:luci.chromium.gpu.ci"
dimensions: "ssd:0"
exe {
cipd_package: "infra/chromium/bootstrapper/${platform}"
cipd_version: "latest"
cmd: "bootstrapper"
}
properties:
'{'
' "$bootstrap/exe": {'
' "exe": {'
' "cipd_package": "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",'
' "cipd_version": "refs/heads/main",'
' "cmd": ['
' "luciexe"'
' ]'
' }'
' },'
' "$bootstrap/properties": {'
' "properties_file": "infra/config/generated/builders/ci/Mac FYI Experimental Release (Apple M1)/properties.json",'
' "top_level_project": {'
' "ref": "refs/heads/main",'
' "repo": {'
' "host": "chromium.googlesource.com",'
' "project": "chromium/src"'
' }'
' }'
' },'
' "builder_group": "chromium.gpu.fyi",'
' "led_builder_is_bootstrapped": true,'
' "recipe": "chromium",'
' "sheriff_rotations": ['
' "chromium.gpu"'
' ]'
'}'
execution_timeout_secs: 21600
build_numbers: YES
service_account: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
experiments {
key: "luci.recipes.use_python3"
value: 100
}
resultdb {
enable: true
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "ci_test_results"
test_results {}
}
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "gpu_ci_test_results"
test_results {
predicate {
test_id_regexp: "ninja://chrome/test:telemetry_gpu_integration_test[^/]*/.+"
}
}
}
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "blink_web_tests_ci_test_results"
test_results {
predicate {
test_id_regexp: "ninja://[^/]*blink_web_tests/.+"
}
}
}
history_options {
use_invocation_timestamp: true
}
}
}
builders {
name: "Mac FYI Experimental Release (Intel)"
swarming_host: "chromium-swarm.appspot.com"
@ -58143,6 +58225,91 @@ buckets {
}
}
}
builders {
name: "gpu-fyi-try-mac-arm64-apple-m1-exp"
swarming_host: "chromium-swarm.appspot.com"
dimensions: "builderless:1"
dimensions: "cpu:x86-64"
dimensions: "os:Mac"
dimensions: "pool:luci.chromium.gpu.mac.arm64.apple.m1.try"
exe {
cipd_package: "infra/chromium/bootstrapper/${platform}"
cipd_version: "latest"
cmd: "bootstrapper"
}
properties:
'{'
' "$bootstrap/exe": {'
' "exe": {'
' "cipd_package": "infra/recipe_bundles/chromium.googlesource.com/chromium/tools/build",'
' "cipd_version": "refs/heads/main",'
' "cmd": ['
' "luciexe"'
' ]'
' }'
' },'
' "$bootstrap/properties": {'
' "properties_file": "infra/config/generated/builders/try/gpu-fyi-try-mac-arm64-apple-m1-exp/properties.json",'
' "top_level_project": {'
' "ref": "refs/heads/main",'
' "repo": {'
' "host": "chromium.googlesource.com",'
' "project": "chromium/src"'
' }'
' }'
' },'
' "builder_group": "tryserver.chromium.mac",'
' "led_builder_is_bootstrapped": true,'
' "recipe": "chromium_trybot"'
'}'
execution_timeout_secs: 21600
expiration_secs: 7200
caches {
name: "win_toolchain"
path: "win_toolchain"
}
build_numbers: YES
service_account: "chromium-try-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
task_template_canary_percentage {
value: 5
}
experiments {
key: "luci.recipes.use_python3"
value: 100
}
resultdb {
enable: true
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "try_test_results"
test_results {}
}
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "gpu_try_test_results"
test_results {
predicate {
test_id_regexp: "ninja://chrome/test:telemetry_gpu_integration_test[^/]*/.+"
}
}
}
bq_exports {
project: "chrome-luci-data"
dataset: "chromium"
table: "blink_web_tests_try_test_results"
test_results {
predicate {
test_id_regexp: "ninja://[^/]*blink_web_tests/.+"
}
}
}
history_options {
use_invocation_timestamp: true
}
}
}
builders {
name: "gpu-fyi-try-mac-arm64-apple-m1-rel"
swarming_host: "chromium-swarm.appspot.com"

@ -9685,6 +9685,9 @@ consoles {
builders {
name: "buildbucket/luci.chromium.ci/Linux FYI Experimental Release (NVIDIA)"
}
builders {
name: "buildbucket/luci.chromium.ci/Mac FYI Experimental Release (Apple M1)"
}
builders {
name: "buildbucket/luci.chromium.ci/Mac FYI Experimental Release (Intel)"
}
@ -9827,6 +9830,11 @@ consoles {
category: "Mac|AMD|Retina"
short_name: "asn"
}
builders {
name: "buildbucket/luci.chromium.ci/Mac FYI Experimental Release (Apple M1)"
category: "Mac|Apple"
short_name: "exp"
}
builders {
name: "buildbucket/luci.chromium.ci/Mac FYI Release (Apple M1)"
category: "Mac|Apple"
@ -16151,6 +16159,9 @@ consoles {
builders {
name: "buildbucket/luci.chromium.try/gpu-fyi-try-mac-amd-retina-rel"
}
builders {
name: "buildbucket/luci.chromium.try/gpu-fyi-try-mac-arm64-apple-m1-exp"
}
builders {
name: "buildbucket/luci.chromium.try/gpu-fyi-try-mac-arm64-apple-m1-rel"
}
@ -17563,6 +17574,9 @@ consoles {
builders {
name: "buildbucket/luci.chromium.try/gpu-fyi-try-mac-amd-retina-rel"
}
builders {
name: "buildbucket/luci.chromium.try/gpu-fyi-try-mac-arm64-apple-m1-exp"
}
builders {
name: "buildbucket/luci.chromium.try/gpu-fyi-try-mac-arm64-apple-m1-rel"
}

@ -2236,6 +2236,20 @@ job {
builder: "Mac FYI Debug (Intel)"
}
}
job {
id: "Mac FYI Experimental Release (Apple M1)"
realm: "ci"
acls {
role: TRIGGERER
granted_to: "chromium-ci-gpu-builder@chops-service-accounts.iam.gserviceaccount.com"
}
acl_sets: "ci"
buildbucket {
server: "cr-buildbucket.appspot.com"
bucket: "ci"
builder: "Mac FYI Experimental Release (Apple M1)"
}
}
job {
id: "Mac FYI Experimental Release (Intel)"
realm: "ci"

@ -213,6 +213,7 @@ realms {
values: "Linux FYI Release (NVIDIA)"
values: "Mac FYI ASAN (Intel)"
values: "Mac FYI Debug (Intel)"
values: "Mac FYI Experimental Release (Apple M1)"
values: "Mac FYI Experimental Release (Intel)"
values: "Mac FYI Experimental Retina Release (AMD)"
values: "Mac FYI Experimental Retina Release (NVIDIA)"

@ -38,6 +38,7 @@ ci/Linux FYI Release (NVIDIA)
ci/Linux Release (NVIDIA)
ci/Mac FYI ASAN (Intel)
ci/Mac FYI Debug (Intel)
ci/Mac FYI Experimental Release (Apple M1)
ci/Mac FYI Experimental Release (Intel)
ci/Mac FYI Experimental Retina Release (AMD)
ci/Mac FYI Experimental Retina Release (NVIDIA)

@ -390,6 +390,31 @@ ci.thin_tester(
triggered_by = ["GPU FYI Mac Builder (dbg)"],
)
ci.thin_tester(
name = "Mac FYI Experimental Release (Apple M1)",
builder_spec = builder_config.builder_spec(
chromium_config = builder_config.chromium_config(
config = "chromium",
apply_configs = ["mb"],
build_config = builder_config.build_config.RELEASE,
target_arch = builder_config.target_arch.ARM,
target_bits = 64,
target_platform = builder_config.target_platform.MAC,
),
execution_mode = builder_config.execution_mode.TEST,
gclient_config = builder_config.gclient_config(
config = "chromium",
),
run_tests_serially = True,
),
console_view_entry = consoles.console_view_entry(
category = "Mac|Apple",
short_name = "exp",
),
list_view = "chromium.gpu.experimental",
triggered_by = ["GPU FYI Mac arm64 Builder"],
)
ci.thin_tester(
name = "Mac FYI Experimental Release (Intel)",
console_view_entry = consoles.console_view_entry(

@ -231,6 +231,15 @@ gpu_mac_builder(
pool = "luci.chromium.gpu.mac.retina.amd.try",
)
gpu_mac_builder(
name = "gpu-fyi-try-mac-arm64-apple-m1-exp",
mirrors = [
"ci/GPU FYI Mac arm64 Builder",
"ci/Mac FYI Experimental Release (Apple M1)",
],
pool = "luci.chromium.gpu.mac.arm64.apple.m1.try",
)
gpu_mac_builder(
name = "gpu-fyi-try-mac-arm64-apple-m1-rel",
mirrors = [

@ -10644,6 +10644,43 @@
}
]
},
"Mac FYI Experimental Release (Apple M1)": {
"isolated_scripts": [
{
"args": [
"noop_sleep",
"--show-stdout",
"--browser=release",
"--passthrough",
"-v",
"--extra-browser-args=--enable-logging=stderr --js-flags=--expose-gc"
],
"isolate_name": "telemetry_gpu_integration_test",
"merge": {
"args": [],
"script": "//testing/merge_scripts/standard_isolated_script_merge.py"
},
"name": "noop_sleep_tests",
"should_retry_with_patch": false,
"swarming": {
"can_use_on_swarming_builders": true,
"containment_type": "AUTO",
"dimension_sets": [
{
"cpu": "arm64",
"display_attached": "1",
"mac_model": "Macmini9,1",
"os": "Mac-11",
"pool": "chromium.tests"
}
],
"idempotent": false,
"service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
},
"test_id_prefix": "ninja://chrome/test:telemetry_gpu_integration_test/"
}
]
},
"Mac FYI Experimental Release (Intel)": {
"gtest_tests": [
{

@ -1876,6 +1876,14 @@
'$$MAGIC_SUBSTITUTION_GPUExpectedDeviceId': None,
},
},
'Mac FYI Experimental Release (Apple M1)': {
'args': {
# The GPU information is not yet exposed in swarming, so we can't
# explicitly request it and have the JSON generation handle this
# automatically.
'--expected-vendor-id': '106b',
},
},
'Mac FYI Release (Apple M1)': {
'args': {
# The GPU information is not yet exposed in swarming, so we can't

@ -4489,6 +4489,19 @@
'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
},
},
'Mac FYI Experimental Release (Apple M1)': {
'os_type': 'mac',
'browser_config': 'release',
'mixins': [
'mac_arm64_apple_m1_gpu',
],
# When the experimental OS version is identical to the stable version,
# the gpu_noop_sleep_telemetry_test test should be used. Otherwise, this
# should have the same test_suites as 'Mac FYI Release (Apple M1)'.
'test_suites': {
'gpu_telemetry_tests': 'gpu_noop_sleep_telemetry_test',
},
},
'Mac FYI Experimental Release (Intel)': {
'os_type': 'mac',
'browser_config': 'release',

@ -1139,6 +1139,7 @@
'gpu-fyi-try-mac-amd-retina-dbg': 'gpu_fyi_tests_debug_trybot',
'gpu-fyi-try-mac-amd-retina-exp': 'gpu_fyi_tests_release_trybot',
'gpu-fyi-try-mac-amd-retina-rel': 'gpu_fyi_tests_release_trybot',
'gpu-fyi-try-mac-arm64-apple-m1-exp': 'gpu_fyi_tests_release_trybot_arm64',
'gpu-fyi-try-mac-arm64-apple-m1-rel': 'gpu_fyi_tests_release_trybot_arm64',
'gpu-fyi-try-mac-intel-asan': 'gpu_fyi_tests_release_trybot_asan',
'gpu-fyi-try-mac-intel-dbg': 'gpu_fyi_tests_debug_trybot',

@ -59,6 +59,19 @@
"use_goma": true
}
},
"gpu-fyi-try-mac-arm64-apple-m1-exp": {
"gn_args": {
"dcheck_always_on": true,
"enable_nacl": false,
"ffmpeg_branding": "Chrome",
"is_component_build": false,
"is_debug": false,
"proprietary_codecs": true,
"symbol_level": 1,
"target_cpu": "arm64",
"use_goma": true
}
},
"gpu-fyi-try-mac-arm64-apple-m1-rel": {
"gn_args": {
"dcheck_always_on": true,