blob: 803692ba95c385eac1b8a7b7ff7c1b5c4c689449 [file] [log] [blame]
# Copyright 2018 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.
# This is a .pyl, or "Python Literal", file. You can treat it just like a
# .json file, with the following exceptions:
# * all keys must be quoted (use single quotes, please);
# * comments are allowed, using '#' syntax; and
# * trailing commas are allowed.
#
# The mixins known to exist. These can be applied to a waterfall, builder, or
# test. The mixins are copied verbatim for each test in a config, overwriting
# existing values. These values can be overriden by exceptions.
#
# 'swarming' mixins are copied verbatim into the test, with one exception; the
# swarming 'dimensions' key. All values in the 'dimensions' key are applied to
# every 'dimension_set' in a test, creating one if no 'dimension_set' already
# exists.
#
# TODO: Potentially switch structure. It's possible we want swarming dimensions
# to live in their own 'swarming' top level key in this file. The file would
# then look something like:
#
# {
# 'swarming': {
# 'x86-64': {
# 'cpu': 'x86-64',
# },
# },
# 'coverage_data': {
# 'isolate_profile_data': True,
# },
# }
#
# This could make things more clear for users, but would require moving mixins
# into sections. Re-evaluate if there are more uses of this potential feature.
#
# Examples:
#
# == Regular ==
# Mixin:
# 'mac-archive-rel-args': {
# 'args': [
# 'mac-release/sizes',
# ],
# },
#
# Waterfall:
# {
# 'name': 'chromium'
# 'machines': {
# 'mac-archive-rel': {
# 'test_suites': {
# 'scripts': 'public_build_scripts',
# },
# 'mixins': ['mac-archive-rel-args'],
# },
# },
# },
#
# Output:
# {
# 'name': 'chromium'
# 'machines': {
# 'mac-archive-rel': {
# "scripts": [
# {
# "args": [
# "mac-release/sizes"
# ],
# "name": "sizes",
# "script": "sizes.py"
# }
# ]
# },
# },
# },
#
# == Swarming ==
# Mixin:
# 'x86-64': {
# 'swarming': {
# 'dimensions': {
# 'cpu': 'x86-64',
# },
# },
# },
#
# Waterfall:
# {
# 'name': 'chromium'
# 'machines': {
# 'msan-bot': {
# 'test_suites': {
# 'scripts': 'linux_chromeos_gtests',
# },
# 'mixins': ['x86-64'],
# },
# },
# },
#
# Output:
# {
# 'name': 'chromium'
# 'machines': {
# 'msan-bot': {
# "gtest_tests": [
# {
# "args": [
# "--test-launcher-print-test-stdio=always"
# ],
# "swarming": {
# "can_use_on_swarming_builders": true,
# "dimension_sets": [
# {
# "cpu": "x86-64",
# "os": "Ubuntu-14.04"
# }
# ]
# },
# "test": "accessibility_unittests"
# },
# <snip>
# },
# },
# },
{
'10-x86-emulator': {
'$mixin_append': {
'args': [
'--avd-config=../../tools/android/avd/proto/generic_android29.textpb',
],
},
'swarming': {
'named_caches': [
{
'name': 'avd_generic_android29',
'path': '.android',
},
{
'name': 'system_images_android_29_google_apis_x86',
'path': '.emulator_sdk',
},
]
},
},
'11-x86-emulator': {
'$mixin_append': {
'args': [
'--avd-config=../../tools/android/avd/proto/generic_android30.textpb',
],
},
'swarming': {
'named_caches': [
{
'name': 'avd_generic_android30',
'path': '.android',
},
{
'name': 'system_images_android_30_google_apis_x86',
'path': '.emulator_sdk',
},
]
},
},
'android_q': {
'swarming': {
'dimensions': {
'device_os': 'Q',
},
},
},
'android_r': {
'swarming': {
'dimensions': {
'device_os': 'R',
},
},
},
'angle_skia_gold_test': {
'$mixin_append': {
'args': [
'--git-revision=${got_angle_revision}',
# BREAK GLASS IN CASE OF EMERGENCY
# Uncommenting this argument will bypass all interactions with Skia
# Gold in any tests that use it. This is meant as a temporary
# emergency stop in case of a Gold outage that's affecting the bots.
# '--bypass-skia-gold-functionality',
],
'precommit_args': [
'--gerrit-issue=${patch_issue}',
'--gerrit-patchset=${patch_set}',
'--buildbucket-id=${buildbucket_build_id}',
],
}
},
'arm64': {
'swarming': {
'dimensions': {
'cpu': 'arm64',
},
},
},
'bullhead': {
'swarming': {
'dimensions': {
'device_type': 'bullhead',
'os': 'Android',
},
},
},
'chrome-gold-service-account': {
'swarming': {
'service_account': 'chrome-gold@chops-service-accounts.iam.gserviceaccount.com',
},
},
'chrome-gpu-gold-service-account': {
'swarming': {
'service_account': 'chrome-gpu-gold@chops-service-accounts.iam.gserviceaccount.com',
},
},
'chrome-swarming-pool': {
'swarming': {
'dimensions': {
'pool': 'chrome.tests',
},
},
},
'chrome-tester-service-account': {
'swarming': {
'service_account': 'chrome-tester@chops-service-accounts.iam.gserviceaccount.com',
},
},
'chromeos-amd64-generic': {
'swarming': {
'dimension_sets': [
{
'cpu': 'x86',
'kvm': '1',
'os': 'Ubuntu-16.04',
'pool': 'chromium.tests',
}
],
'optional_dimensions': {
'60': [
{
'caches': 'cros_vm',
}
],
},
'named_caches': [
{
'name': 'cros_vm',
'path': 'magic_cros_vm_cache',
},
],
},
},
'chromeos-betty': {
'swarming': {
'dimension_sets': [
{
'cpu': 'x86',
'kvm': '1',
'os': 'Ubuntu-16.04',
'pool': 'chrome.tests',
}
],
'optional_dimensions': {
'60': [
{
'caches': 'cros_vm',
}
],
},
'named_caches': [
{
'name': 'cros_vm',
'path': 'magic_cros_vm_cache',
},
],
},
},
'chromeos-kevin': {
'swarming': {
'dimensions': {
'os': 'ChromeOS',
'device_type': 'kevin',
'pool': 'chromium.tests',
},
},
},
'chromium-tester-dev-service-account': {
'swarming': {
'service_account': 'chromium-tester-dev@chops-service-accounts.iam.gserviceaccount.com',
},
},
'chromium-tester-service-account': {
'swarming': {
'service_account': 'chromium-tester@chops-service-accounts.iam.gserviceaccount.com',
},
},
'chromium-webrtc-rel-7': {
'perf_builder_name_alias': 'chromium-webrtc-rel-7',
},
'chromium-webrtc-rel-linux': {
'perf_builder_name_alias': 'chromium-webrtc-rel-linux',
},
'chromium-webrtc-rel-mac': {
'perf_builder_name_alias': 'chromium-webrtc-rel-mac',
},
'chromium-webrtc-rel-win10': {
'perf_builder_name_alias': 'chromium-webrtc-rel-win10',
},
'chromium-webrtc-rel-win8': {
'perf_builder_name_alias': 'chromium-webrtc-rel-win8',
},
'dawn_end2end_gpu_test': {
'$mixin_append': {
'args': [
'--use-gpu-in-tests',
# Dawn test retries deliberately disabled to prevent flakiness.
'--test-launcher-retry-limit=0',
'--exclusive-device-type-preference=discrete,integrated',
],
},
},
'docker': {
'swarming': {
'dimensions': {
'inside_docker': '1',
},
},
},
'emulator-4-cores': {
'swarming': {
'dimensions': {
'device_os': None,
'device_type': None,
'pool': 'chromium.tests.avd',
'machine_type': 'n1-standard-4',
},
},
},
'enable_resultdb': {
'resultdb': {
'enable': True,
},
},
'femu-additional-ram': {
'$mixin_append': {
'args': [
'--ram-size-mb=16384',
],
},
},
'flame': {
# Pixel 4
'swarming': {
'dimensions': {
'device_type': 'flame',
'os': 'Android',
},
},
},
'flounder': {
# Nexus 9
'swarming': {
'dimensions': {
'device_type': 'flounder',
'os': 'Android',
},
},
},
'foster': {
# NVIDIA SHIELD TV
'swarming': {
'dimensions': {
'device_os_type': 'user',
'device_type': 'foster',
'os': 'Android',
},
},
},
'fuchsia-code-coverage': {
'$mixin_append': {
'args': [
'--code-coverage',
'--code-coverage-dir=${ISOLATED_OUTDIR}'
],
},
},
'fuchsia_runner_logs': {
'$mixin_append': {
'args': [
'--runner-logs-dir=${ISOLATED_OUTDIR}/runner_logs',
],
},
},
'gpu-swarming-pool': {
'swarming': {
'dimensions': {
'pool': 'chromium.tests.gpu',
},
},
},
'hammerhead': {
# Nexus 5
'swarming': {
'dimensions': {
'device_type': 'hammerhead',
'os': 'Android',
},
},
},
'intel_iris_5100': {
'swarming': {
'dimensions': {
'gpu': '8086:0a2e',
},
},
},
'ios_custom_webkit': {
'$mixin_append': {
'args': [
'--args-json',
'{"test_args": ["--run-with-custom-webkit"]}'
],
},
},
'ios_output_disabled_tests': {
'$mixin_append': {
'args': [
'--args-json',
'{"test_args": ["--write-compiled-tests-json-to-writable-path"]}'
],
},
},
'ios_restart_device': {
'$mixin_append': {
'args': [
'--restart',
],
},
},
'isolate_profile_data': {
'isolate_profile_data': True,
},
'kitkat': {
'swarming': {
'dimensions': {
'device_os': 'KTU84P',
},
},
},
'limited_capacity_bot': {
# Some FYI bot configurations have a limited number of bots in the swarming
# pool. Increase the default expiration time from 1 hour to 6 hours to
# prevent shards from timing out.
'swarming': {
'expiration': 21600,
},
},
'linux-archive-rel-args': {
'args': [
'linux-release-64/sizes',
],
},
'linux-bionic': {
'swarming': {
'dimensions': {
'os': 'Ubuntu-18.04',
},
},
},
'linux-trusty': {
'swarming': {
'dimensions': {
'os': 'Ubuntu-14.04',
},
},
},
'linux-xenial': {
'swarming': {
'dimensions': {
'os': 'Ubuntu-16.04',
},
},
},
'linux_amd_rx_5500_xt': {
'swarming': {
'dimensions': {
'gpu': '1002:7340',
'os': 'Ubuntu',
'pool': 'chromium.tests.gpu.experimental',
},
},
},
'linux_intel_hd_630_experimental': {
# Similar to stable, but with a newer Mesa version.
'swarming': {
'dimensions': {
'gpu': '8086:5912-20.0.8',
'os': 'Ubuntu-18.04.5',
'pool': 'chromium.tests.gpu',
},
},
},
'linux_intel_hd_630_stable': {
'swarming': {
'dimensions': {
'gpu': '8086:5912-19.0.2',
'os': 'Ubuntu-19.04',
'pool': 'chromium.tests.gpu',
}
}
},
'linux_intel_uhd_630_stable': {
'swarming': {
'dimensions': {
'gpu': '8086:3e92-20.0.8',
'os': 'Ubuntu-18.04.5',
'pool': 'chromium.tests.gpu',
},
}
},
'linux_nvidia_gtx_1660_experimental': {
'swarming': {
'dimensions': {
'gpu': '10de:2184',
'os': 'Ubuntu',
'pool': 'chromium.tests.gpu.experimental',
},
},
},
'linux_nvidia_quadro_p400_stable': {
'swarming': {
'dimensions': {
'gpu': '10de:1cb3-418.56',
'os': 'Ubuntu-19.04',
'pool': 'chromium.tests.gpu',
}
}
},
'lollipop': {
'swarming': {
'dimensions': {
'device_os': 'LMY48M',
},
},
},
'lollipop_generic': {
'swarming': {
'dimensions': {
'device_os': 'L',
},
},
},
'mac-archive-rel-args': {
'args': [
'mac-release/sizes',
],
},
'mac_10.11': {
'swarming': {
'dimensions': {
'os': 'Mac-10.11',
},
},
},
'mac_10.13': {
'swarming': {
'dimensions': {
'os': 'Mac-10.13.6',
},
},
},
'mac_10.14': {
'swarming': {
'dimensions': {
'os': 'Mac-10.14.6',
},
},
},
'mac_10.15': {
'swarming': {
'dimensions': {
'os': 'Mac-10.15',
},
},
},
'mac_11': {
'swarming': {
'dimensions': {
'os': 'Mac-11|Mac-10.16',
},
},
},
'mac_11_beta': {
'swarming': {
'dimensions': {
'os': 'Mac-11.3',
},
},
},
'mac_arm64_apple_dtk_experimental': {
'swarming': {
'dimensions': {
'cpu': 'arm64',
'os': 'Mac-11',
'pool': 'chromium.tests.mac-arm64',
},
},
},
'mac_mini_10.12': {
'swarming': {
'dimensions': {
'gpu': '8086:0a2e',
'os': 'Mac-10.12.6',
},
},
},
'mac_mini_10.14': {
'swarming': {
'dimensions': {
'gpu': '8086:0a2e',
'os': 'Mac-10.14.6',
},
},
},
'mac_mini_intel_gpu_experimental': {
'swarming': {
'dimensions': {
'gpu': '8086:0a2e',
'os': 'Mac-10.15.5',
},
},
},
'mac_mini_intel_gpu_stable': {
'swarming': {
'dimensions': {
'gpu': '8086:0a2e',
'os': 'Mac-10.15.5',
},
},
},
# Version of mac_mini_intel_gpu_stable that uses 'dimension_sets'
# instead of 'dimensions' so it can be used to trigger tests on multiple
# configurations.
'mac_mini_intel_gpu_stable_dimension_set': {
'swarming': {
'dimension_sets': [
{
'gpu': '8086:0a2e',
'os': 'Mac-10.15.5',
},
],
},
},
'mac_mini_intel_uhd_630_gpu_stable': {
'swarming': {
'dimensions': {
'gpu': '8086:3e9b',
'os': 'Mac-10.15.7',
},
},
},
'mac_pro_amd_gpu': {
'swarming': {
'dimensions': {
'gpu': '1002:679e',
'os': 'Mac-10.12.6',
'pool': 'chromium.tests.gpu',
},
},
},
'mac_retina_amd_gpu_experimental': {
# Currently same configuration as stable version below.
'swarming': {
'dimensions': {
'gpu': '1002:6821',
'hidpi': '1',
'os': 'Mac-10.14.6',
'pool': 'chromium.tests.gpu',
},
},
},
'mac_retina_amd_gpu_stable': {
'swarming': {
'dimensions': {
'gpu': '1002:6821',
'hidpi': '1',
'os': 'Mac-10.14.6',
'pool': 'chromium.tests.gpu',
},
},
},
# Version of mac_retina_amd_gpu_stable that uses 'dimension_sets'
# instead of 'dimensions' so it can be used to trigger tests on multiple
# configurations.
'mac_retina_amd_gpu_stable_dimension_set': {
'swarming': {
'dimension_sets': [
{
'gpu': '1002:6821',
'hidpi': '1',
'os': 'Mac-10.14.6',
'pool': 'chromium.tests.gpu',
},
],
},
},
'mac_retina_nvidia_gpu_experimental': {
# Currently the same as the stable version.
'swarming': {
'dimensions': {
'gpu': '10de:0fe9',
'hidpi': '1',
'os': 'Mac-10.14.6',
'pool': 'chromium.tests.gpu',
},
},
},
'mac_retina_nvidia_gpu_stable': {
'swarming': {
'dimensions': {
'gpu': '10de:0fe9',
'hidpi': '1',
'os': 'Mac-10.14.6',
'pool': 'chromium.tests.gpu',
},
},
},
'mac_toolchain': {
'swarming': {
'cipd_packages': [
{
"cipd_package": 'infra/tools/mac_toolchain/${platform}',
'location': '.',
'revision': 'git_revision:8811b82233df02ee372cae1e19e379ca8c6a2776',
},
],
},
},
'marshmallow': {
'swarming': {
'dimensions': {
'device_os': 'MMB29Q',
},
},
},
'marshmallow-x86-emulator': {
'$mixin_append': {
'args': [
'--avd-config=../../tools/android/avd/proto/generic_android23.textpb',
],
},
'swarming': {
'named_caches': [
{
'name': 'avd_generic_android23',
'path': '.android',
},
{
'name': 'system_images_android_23_google_apis_x86',
'path': '.emulator_sdk',
},
]
},
},
'marshmallow_generic': {
'swarming': {
'dimensions': {
'device_os': 'M',
},
},
},
'no_gpu': {
'swarming': {
'dimensions': {
'gpu': 'none',
},
},
},
'nougat': {
'swarming': {
'dimensions': {
'device_os': 'NJH47F',
},
},
},
'nougat_generic': {
'swarming': {
'dimensions': {
'device_os': 'N',
},
},
},
'oreo-x86-emulator': {
'$mixin_append': {
'args': [
'--avd-config=../../tools/android/avd/proto/generic_android27.textpb',
],
},
'swarming': {
'named_caches': [
{
'name': 'avd_generic_android27',
'path': '.android',
},
{
'name': 'system_images_android_27_google_apis_x86',
'path': '.emulator_sdk',
},
]
},
},
'oreo_fleet': {
'swarming': {
'dimensions': {
'device_os': 'OPM4.171019.021.P2',
'device_os_flavor': 'google',
},
},
},
'out_dir_arg': {
'$mixin_append': {
'args': [
'--out-dir',
'${ISOLATED_OUTDIR}'
],
},
},
'pie-x86-emulator': {
'$mixin_append': {
'args': [
'--avd-config=../../tools/android/avd/proto/generic_android28.textpb',
],
},
'swarming': {
'named_caches': [
{
'name': 'avd_generic_android28',
'path': '.android',
},
{
'name': 'system_images_android_28_google_apis_x86',
'path': '.emulator_sdk',
},
]
},
},
'pie_fleet': {
'swarming': {
'dimensions': {
'device_os': 'PQ3A.190801.002',
'device_os_flavor': 'google',
},
},
},
'robocrop-swarming-pool': {
'swarming': {
'dimensions': {
'pool': 'chromium.tests.robocrop',
},
},
},
'sailfish': {
# Pixel 1
'swarming': {
'dimensions': {
'device_type': 'sailfish',
'os': 'Android',
},
},
},
'shamu': {
# Nexus 6
'swarming': {
'dimensions': {
'device_type': 'shamu',
'os': 'Android',
},
},
},
'skia_gold_test': {
'$mixin_append': {
'args': [
'--git-revision=${got_revision}',
# BREAK GLASS IN CASE OF EMERGENCY
# Uncommenting this argument will bypass all interactions with Skia
# Gold in any tests that use it. This is meant as a temporary
# emergency stop in case of a Gold outage that's affecting the bots.
# '--bypass-skia-gold-functionality',
],
'precommit_args': [
'--gerrit-issue=${patch_issue}',
'--gerrit-patchset=${patch_set}',
'--buildbucket-id=${buildbucket_build_id}',
],
}
},
'swarming_containment_auto': {
'swarming': {
'containment_type': 'AUTO',
},
},
'timeout_15m': {
'swarming': {
'hard_timeout': 900,
'io_timeout': 900,
},
},
'vr_instrumentation_test': {
'$mixin_append': {
'args': [
'--remove-system-package=com.google.vr.vrcore',
'--additional-apk=//third_party/gvr-android-sdk/test-apks/vr_services/vr_services_current.apk',
],
},
},
'walleye': {
# Pixel 2
'swarming': {
'dimensions': {
'device_type': 'walleye',
'os': 'Android',
},
},
},
'win10': {
'swarming': {
'dimensions': {
'os': 'Windows-10-18363',
},
},
},
'win10_amd_rx_5500_xt': {
'swarming': {
'dimensions': {
'gpu': '1002:7340',
'os': 'Windows-10',
'pool': 'chromium.tests.gpu.experimental',
},
},
},
'win10_gce_gpu_pool': {
'swarming': {
'dimensions': {
'cpu': 'x86-64',
'gpu': 'none',
'os': 'Windows-10',
'pool': 'chromium.tests.gpu',
},
},
},
'win10_intel_hd_630_experimental': {
'swarming': {
'dimensions': {
'gpu': '8086:5912-26.20.100.7870|8086:5912-26.20.100.8141|8086:3e92-26.20.100.8141',
'os': 'Windows-10',
'pool': 'chromium.tests.gpu.experimental',
},
},
},
'win10_intel_hd_630_stable': {
'swarming': {
'dimensions': {
'gpu': '8086:5912-26.20.100.8141|8086:3e92-26.20.100.8141',
'os': 'Windows-10',
'pool': 'chromium.tests.gpu',
},
},
},
'win10_intel_hd_630_stable_dimension_set': {
'swarming': {
# We use explicit 'dimension_sets' instead of 'dimensions' since this is
# used in conjunction with 'win10_nvidia_quadro_p400_stable_dimension_set'
# to trigger tests on multiple configurations.
'dimension_sets': [
{
'gpu': '8086:5912-26.20.100.8141|8086:3e92-26.20.100.8141',
'os': 'Windows-10',
'pool': 'chromium.tests.gpu',
},
],
},
},
'win10_nvidia_geforce_gtx_1660': {
'swarming': {
'dimensions': {
'gpu': '10de:2184',
'os': 'Windows-10',
'pool': 'chromium.tests.gpu.experimental',
},
},
},
'win10_nvidia_quadro_p400_experimental': {
'swarming': {
'dimensions': {
'gpu': '10de:1cb3-27.21.14.5148',
'os': 'Windows-10-18363',
'pool': 'chromium.tests.gpu.experimental',
},
},
},
'win10_nvidia_quadro_p400_stable': {
'swarming': {
'dimensions': {
'gpu': '10de:1cb3-27.21.14.5148',
'os': 'Windows-10-18363',
'pool': 'chromium.tests.gpu',
},
},
},
# Version of win10_nvidia_quadro_p400_stable that uses 'dimension_sets'
# instead of 'dimensions' so it can be used to trigger tests on multiple
# configurations.
'win10_nvidia_quadro_p400_stable_dimension_set': {
'swarming': {
'dimension_sets': [
{
'gpu': '10de:1cb3-27.21.14.5148',
'os': 'Windows-10-18363',
'pool': 'chromium.tests.gpu',
},
],
},
},
'win7': {
'swarming': {
'dimensions': {
'os': 'Windows-7-SP1',
},
},
},
'win7_amd_r7_240': {
'swarming': {
'dimensions': {
'gpu': '1002:6613',
'os': 'Windows-2008ServerR2-SP1',
'pool': 'chromium.tests.gpu',
},
},
},
'win7_nvidia_quadro_p400': {
'swarming': {
'dimensions': {
'gpu': '10de:1cb3-24.21.14.1195',
'os': 'Windows-2008ServerR2-SP1',
'pool': 'chromium.tests.gpu',
},
},
},
'win8': {
'swarming': {
'dimensions': {
'os': 'Windows-8.1-SP0',
},
},
},
'x86-32': {
'swarming': {
'dimensions': {
'cpu': 'x86-32',
},
},
},
'x86-64': {
'swarming': {
'dimensions': {
'cpu': 'x86-64',
},
},
},
# in use by ios-webkit-tot
'xcode_11e608c': {
'$mixin_append': {
'args': [
'--xcode-build-version',
'11e608c'
],
},
'swarming': {
'named_caches': [
{
'name': 'xcode_ios_11e608c',
'path': 'Xcode.app',
},
],
},
},
# (default in Chromium iOS) xcode 12.4 gm seed
'xcode_12d4e': {
'$mixin_append': {
'args': [
'--xcode-build-version',
'12d4e'
],
},
'swarming': {
'named_caches': [
{
'name': 'xcode_ios_12d4e',
'path': 'Xcode.app',
},
],
},
},
'xcode_parallelization': {
'$mixin_append': {
'args': [
'--xcode-parallelization',
],
},
},
'xctest': {
'$mixin_append': {
'args': [
'--xctest',
],
},
},
}