# Copyright 2017 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.

[
  {
    'name': 'chromium',
    'machines': {
      'android-dbg': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'android-rel': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'linux-dbg': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'linux-rel': {
        'mixins': ['linux-rel-args'],
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'scripts': 'public_build_scripts',
        },
      },
      'mac-dbg': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'mac-rel': {
        'mixins': ['mac-rel-args'],
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'scripts': 'public_build_scripts',
        },
      },
      'win-dbg': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'win-rel': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'scripts': 'public_build_scripts',
        },
      },
      'win32-dbg': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'win32-rel': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'scripts': 'public_build_scripts',
        },
      },
    }
  },
  {
    'name': 'chromium.android',
    'machines': {
      'Android ASAN (dbg)': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'Android Cronet Builder': {
        'additional_compile_targets': [
          'cronet_package',
        ],
      },
      'Android Cronet Builder (dbg)': {
        'test_suites': {
          'gtest_tests': 'cronet_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84P',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
        'skip_merge_script': True,
      },
      'Android Cronet Builder Asan': {
        'test_suites': {
          'gtest_tests': 'cronet_gtests',
        },
        'use_swarming': False,
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84P',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
      },
      'Android Cronet KitKat Builder': {
        'test_suites': {
          'gtest_tests': 'cronet_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84P',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
        'skip_merge_script': True,
      },
      'Android WebView L (dbg)': {
        'test_suites': {
          'isolated_scripts': 'webview_cts_tests_isolated_scripts',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'LMY47I',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
        },
        'use_swarming': True,
        'os_type': 'android',
      },
      'Android WebView M (dbg)': {
        'test_suites': {
          'cts_tests': 'android_m_cts_tests',
          'instrumentation_tests': 'system_webview_and_webview_ui_instrumentation_tests',
        },
        'use_swarming': False,
        'os_type': 'android',
      },
      'Android WebView N (dbg)': {
        'test_suites': {
          'cts_tests': 'android_n_cts_tests',
          'instrumentation_tests': 'system_webview_shell_instrumentation_tests',
        },
        'use_swarming': False,
        'os_type': 'android',
      },
      'Android WebView O (dbg)': {
        'test_suites': {
          'cts_tests': 'android_o_cts_tests',
        },
        'use_swarming': False,
        'os_type': 'android',
      },
      'Android arm Builder (dbg)': {
        'additional_compile_targets': [
          'dump_syms',
          'microdump_stackwalk',
        ],
      },
      'Android arm64 Builder (dbg)': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'Android x64 Builder (dbg)': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'Android x86 Builder (dbg)': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'Cast Android (dbg)': {
        'additional_compile_targets': [
          'cast_junit_test_lists',
          'cast_shell_apk',
        ],
        'test_suites': {
          'junit_tests': 'cast_junit_tests',
        },
      },
      'KitKat Phone Tester (dbg)': {
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
          'junit_tests': 'chromium_junit_tests',
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84P',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
      },
      'KitKat Tablet Tester': {
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84Z',
              'device_type': 'flo',
              'os': 'Android',
            },
          ],
          'expiration': 10800,
        },
        'os_type': 'android',
      },
      'Lollipop Phone Tester': {
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'LMY48I',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
          'expiration': 10800,
          'hard_timeout': 960,
        },
        'os_type': 'android',
      },
      'Lollipop Tablet Tester': {
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'LMY49B',
              'device_type': 'flo',
              'os': 'Android',
            },
          ],
          'expiration': 10800,
          # This is the most common hard_timeout on this device.
          'hard_timeout': 120,
        },
        'os_type': 'android',
      },
      'Marshmallow 64 bit Tester': {
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'MMB29Q',
              'device_type': 'bullhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
      },
      'Marshmallow Tablet Tester': {
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'MRA58Z',
              'device_type': 'flo',
              'os': 'Android',
            },
          ],
          'expiration': 10800,
        },
        'os_type': 'android',
      },
      'Nougat Phone Tester': {
        'test_suites': {
          'gtest_tests': 'android_ddready_vr_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'android_devices': '1',
              'device_os': 'NMF26U',
              'device_type': 'marlin',
              'os': 'Android',
            },
          ],
        },
        'skip_output_links': True,
        'os_type': 'android',
      },
      'Oreo Phone Tester': {
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'OPR3.170623.008',
              'device_type': 'marlin',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
        'test_suites': {
          'gtest_tests': 'android_oreo_gtests',
        },
      },
      'android-cronet-arm-dbg': {
        'additional_compile_targets': [
          'cronet_package',
          'cronet_perf_test_apk',
        ],
        'test_suites': {
          'gtest_tests': 'cronet_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84P',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
      },
      'android-cronet-arm-rel': {
        'additional_compile_targets': [
          'cronet_package',
        ],
      },
      'android-cronet-arm64-dbg': {
        'additional_compile_targets': [
          'cronet_package',
          'cronet_perf_test_apk',
          'cronet_sample_test_apk',
          'cronet_smoketests_missing_native_library_instrumentation_apk',
          'cronet_smoketests_platform_only_instrumentation_apk',
          'cronet_test_instrumentation_apk',
          'cronet_tests_android',
          'cronet_unittests_android',
          'net_unittests',
        ],
      },
      'android-cronet-arm64-rel': {
        'additional_compile_targets': [
          'cronet_package',
          'cronet_perf_test_apk',
          'cronet_sample_test_apk',
          'cronet_smoketests_missing_native_library_instrumentation_apk',
          'cronet_smoketests_platform_only_instrumentation_apk',
          'cronet_test_instrumentation_apk',
          'cronet_tests_android',
          'cronet_unittests_android',
          'net_unittests',
        ],
      },
      'android-cronet-asan-arm-rel': {
        # TODO(jbudorick): Run tests on this on swarming after
        # implementing a reasonable mechanism for doing so w/ asan.
        'additional_compile_targets': [
          'cronet_package',
          'cronet_perf_test_apk',
          'cronet_sample_test_apk',
          'cronet_smoketests_missing_native_library_instrumentation_apk',
          'cronet_smoketests_platform_only_instrumentation_apk',
          'cronet_test_instrumentation_apk',
          'cronet_tests_android',
          'cronet_unittests_android',
          'net_unittests',
        ],
      },
      'android-cronet-kitkat-arm-rel': {
        'test_suites': {
          'gtest_tests': 'cronet_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84P',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
      },
      'android-cronet-lollipop-arm-rel': {},
      'android-cronet-marshmallow-arm64-rel': {
        'test_suites': {
          'gtest_tests': 'cronet_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'MMB29Q',
              'device_type': 'bullhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
      },
      'android-cronet-x86-dbg': {
        'additional_compile_targets': [
          'cronet_package',
          'cronet_perf_test_apk',
          'cronet_sample_test_apk',
          'cronet_smoketests_missing_native_library_instrumentation_apk',
          'cronet_smoketests_platform_only_instrumentation_apk',
          'cronet_test_instrumentation_apk',
          'cronet_tests_android',
          'cronet_unittests_android',
          'net_unittests',
        ],
      },
      'android-cronet-x86-rel': {
        'additional_compile_targets': [
          'cronet_package',
          'cronet_perf_test_apk',
          'cronet_sample_test_apk',
          'cronet_smoketests_missing_native_library_instrumentation_apk',
          'cronet_smoketests_platform_only_instrumentation_apk',
          'cronet_test_instrumentation_apk',
          'cronet_tests_android',
          'cronet_unittests_android',
          'net_unittests',
        ],
      },
      'android-incremental-dbg': {
        'test_suites': {
          'gtest_tests': 'android_incremental_tests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'MMB29Q',
              'device_type': 'bullhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
      },
      'android-jumbo-rel': {
        'additional_compile_targets': [
          'all'
        ]
      },
      'android-kitkat-arm-rel': {
        'additional_compile_targets': [
          'cronet_test_instrumentation_apk',
          'monochrome_static_initializers',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
          'junit_tests': 'chromium_junit_tests',
          'isolated_scripts': 'monochrome_apk_checker_isolated_script',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84P',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
      },
      'android-marshmallow-arm64-rel': {
        'additional_compile_targets': [
          'monochrome_static_initializers',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
          'isolated_scripts': 'marshmallow_isolated_scripts',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'MMB29Q',
              'device_type': 'bullhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
      },
    },
  },
  {
    'name': 'chromium.android.fyi',
    'machines': {
      'Android Cronet Builder (dbg)': {
        'test_suites': {
          'gtest_tests': 'cronet_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84P',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
      },
      'Android Cronet Builder Asan': {
        'test_suites': {
          'gtest_tests': 'cronet_gtests',
        },
        'os_type': 'android',
        'use_swarming': False,
      },
      'Android Cronet KitKat Builder': {
        'test_suites': {
          'gtest_tests': 'cronet_gtests',
          'scripts': 'cronet_scripts',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84P',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
      },
      'Android WebView O NetworkService (dbg)': {
        'test_suites': {
          'isolated_scripts': 'webview_cts_tests_isolated_scripts',
        },
        'args': [
          '--enable-features=NetworkService',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'OPM1.171019.021',
              'device_type': 'walleye',
              'os': 'Android',
            },
          ],
        },
        'use_swarming': True,
        'os_type': 'android',
      },
      'Memory Infra Tester': {
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84P',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
          'expiration': 36000,
          'hard_timeout': 10800,
          'ignore_task_failure': False,
          'io_timeout': 3600,
        },
        'test_suites': {
          'isolated_scripts': 'memory_infra_isolated_scripts',
        },
      },
      'Nougat Phone Tester': {
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'NRD91N',
              'device_type': 'bullhead',
              'os': 'Android',
            },
          ],
          'expiration': 10800,
          'hard_timeout': 960,
        },
        'os_type': 'android',
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
        },
      },
      'x64 Device Tester': {
        'swarming': {
          'dimension_sets': [
            {
              'device_type': 'coho',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
        'skip_cipd_packages': True,
        'skip_output_links': True,
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
        },
      },
      'x86 Cloud Tester': {
        'swarming': {
          'dimension_sets': [
            {
              'device_type': 'gce_x86',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
        'skip_cipd_packages': True,
        'skip_output_links': True,
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
          'isolated_scripts': 'telemetry_perf_unittests_isolated_scripts',
        },
      },
    },
  },
  {
    'name': 'chromium.chrome',
    'machines': {
    },
  },
  {
    'name': 'chromium.chromiumos',
    'machines': {
      'chromeos-amd64-generic-rel': {
        'additional_compile_targets': [
          'chromiumos_preflight',
        ],
        'test_suites': {
          'gtest_tests': 'chromeos_gtests',
          'isolated_scripts': 'chromeos_isolated_scripts',
        },
        'swarming': {
          'dimension_sets': [
            {
              'kvm': '1',
              'os': 'Ubuntu-14.04',
              'pool': 'Chrome-CrOS-VM',
            },
          ],
        },
      },
      'chromeos-daisy-rel': {
        'additional_compile_targets': [
          'chromiumos_preflight',
        ],
      },
      'linux-chromeos-dbg': {
        'test_suites': {
          'gtest_tests': 'linux_chromeos_gtests',
        },
      },
      'linux-chromeos-rel': {
        'additional_compile_targets': [
          'gn_all',
        ],
        'test_suites': {
          'gtest_tests': 'linux_chromeos_gtests',
        },
      },
    },
  },
  {
    'name': 'chromium.clang',
    'machines': {
      'CFI Linux ToT': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_and_gl_gtests',
        },
      },
      'CrWinAsan': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Windows-10-15063',
            },
          ],
        },
      },
      'CrWinAsan(dll)': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Windows-10-15063',
            },
          ],
        },
      },
      'CrWinAsanCov': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Windows-10-15063',
            },
          ],
        },
      },
      'SafeStack Linux ToT': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_gtests',
        },
      },
      'ToTAndroid': {
        'additional_compile_targets': [
          'all',
        ],
        # This mirrors 'android-kitkat-arm-rel'.
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
          'junit_tests': 'chromium_junit_tests',
          'isolated_scripts': 'monochrome_apk_checker_isolated_script',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84P',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
      },
      'ToTAndroid x64': {
        'swarming': {
          'dimension_sets': [
            {
              'device_type': 'coho',
              'os': 'Android',
            },
          ],
        },
        'test_suites': {
          # TODO(crbug.com/807966): Re-enable tests once there are devices to run them on.
        },
      },
      'ToTAndroid64': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'ToTAndroidASan': {
        'test_suites': {
          'gtest_tests': 'chromium_android_asan_gtests',
          'junit_tests': 'chromium_android_asan_junit_tests',
        },
        'use_swarming': False,
      },
      'ToTAndroidCFI': {
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'MMB29Q',
              'device_type': 'bullhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
        },
      },
      'ToTAndroidOfficial': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'ToTLinux': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_gtests',
          'scripts': 'check_gn_headers_script',
        },
      },
      'ToTLinux (dbg)': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'ToTLinuxASan': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_linux_gtests',
        },
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'ToTLinuxMSan': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_gtests',
        },
      },
      'ToTLinuxThinLTO': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_gtests',
        },
      },
      'ToTLinuxUBSanVptr': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          # no "_and_gl":gl_unittests doesn't pass yet,
          # https://crbug.com/815183
          'gtest_tests': 'chromium_linux_gtests',
        },
      },
      'ToTMac': {
        'test_suites': {
          'gtest_tests': 'chromium_mac_gtests',
          'isolated_scripts': 'chromium_rel_isolated_scripts',
        },
      },
      'ToTMacASan': {
        'test_suites': {
          'gtest_tests': 'chromium_mac_gtests',
        },
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'ToTWin': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
      },
      'ToTWin(dbg)': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
      },
      'ToTWin(dll)': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
      },
      'ToTWin64': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
      },
      'ToTWin64(dbg)': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
      },
      'ToTWin64(dll)': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
      },
      'ToTWinCFI': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
      },
      'ToTWinCFI64': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
      },
      'ToTWinLibcxx64': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
      },
      'ToTWinThinLTO64': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
      },
      'UBSanVptr Linux': {
        'test_suites': {
          # no "_and_gl":gl_unittests doesn't pass yet,
          # https://crbug.com/815183
          'gtest_tests': 'chromium_linux_gtests',
        },
      },
      'linux-win_cross-rel': {
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Windows-10',
            },
          ],
        },
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
      },
    },
  },
  {
    'name': 'chromium.fuzz',
    'machines': {
      'ASAN Debug': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'ASAN Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'ASAN Release Media': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'ASan Debug (32-bit x86 with V8-ARM)': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'ASan Release (32-bit x86 with V8-ARM)': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'ASan Release Media (32-bit x86 with V8-ARM)': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'ChromiumOS ASAN Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'MSAN Release (chained origins)': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'MSAN Release (no origins)': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'Mac ASAN Debug': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'Mac ASAN Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'Mac ASAN Release Media': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'TSAN Debug': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'TSAN Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'UBSan Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'UBSan vptr Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'Win ASan Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'Win ASan Release Media': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
    },
  },
  {
    'name': 'chromium.fyi',
    'machines': {
      'Android Builder (dbg) Goma Canary': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'Android VR Tests': {
        'test_suites': {
          'gtest_tests': 'android_fyi_vr_gtests',
          'instrumentation_tests': 'android_fyi_vr_instrumentation_tests',
        },
        'os_type': 'android',
        'skip_output_links': True,
      },
      'Chromium Mac 10.13': {
        'test_suites': {
          'gtest_tests': 'chromium_mac_fyi_gtests',
          'isolated_scripts': 'chromium_rel_isolated_scripts',
        },
      },
      'Headless Linux (dbg)': {
        'additional_compile_targets': [
          'headless_lib',
          'headless_shell',
          'headless_tests',
        ],
        'test_suites': {
          'gtest_tests': 'headless_linux_gtests',
          'scripts': 'headless_linux_scripts',
        },
        'use_swarming': False,
      },
      'Jumbo Linux x64': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'Jumbo Mac': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'Jumbo Win x64': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'Linux ARM': {
        'mixins': [
          'linux-trusty',
          'arm_tester',
        ],
        'test_suites': {
          'gtest_tests': 'linux_arm_gtests',
        },
      },
      'Linux Builder Goma Canary': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Linux Clang Analyzer': {
        'additional_compile_targets': [
          'chrome',
        ]
      },
      'Linux Viz': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'linux_viz_gtests',
        },
      },
      'Linux x64 Goma Canary (clobber)': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Linux x64 Goma Canary LocalOutputCache': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Mac Builder (dbg) Goma Canary': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_mac_gtests',
        },
      },
      'Mac Builder (dbg) Goma Canary (clobber)': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_mac_gtests',
        },
      },
      'Mac Builder Goma Canary': {
        'additional_compile_targets': [
          'all',
          'pdf_fuzzers',
        ],
        'test_suites': {
          'gtest_tests': 'goma_mac_gtests',
        },
      },
      'Mac Goma Canary (clobber)': {
        'additional_compile_targets': [
          # Due to disk shortage, we build 'chrome' instead of 'all'.
          # See crbug.com/899425
          'chrome',
        ],
        'test_suites': {
          'gtest_tests': 'goma_mac_gtests',
        },
      },
      'Mac Goma Canary LocalOutputCache': {
        'additional_compile_targets': [
          # Due to disk shortage, we build 'chrome' instead of 'all'.
          # See crbug.com/825536
          'chrome',
        ],
        'test_suites': {
          'gtest_tests': 'goma_mac_gtests',
        },
      },
      'Mojo Android': {
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'MMB29Q',
              'device_type': 'bullhead',
              'os': 'Android',
            },
          ],
          'hard_timeout': 3600,
        },
        'os_type': 'android',
        'test_suites': {
          'gtest_tests': 'mojo_android_gtests',
        },
      },
      'Mojo ChromiumOS': {
        'additional_compile_targets': [
          'mash:all',
        ],
        'test_suites': {
          'gtest_tests': 'mojo_chromiumos_fyi_gtests',
        },
      },
      'Mojo Linux': {
        # Normally, FYI tests run with a lower priority than main CI tests.
        # However, some optional CQ bots mirror FYI bots, so their tests need
        # to run at the same priority as other non-optional CQ bots to avoid
        # getting starved out.
        'swarming': {
          'priority_adjustment': 30,
        },
        'test_suites': {
          'gtest_tests': 'network_service_gtests',
          'isolated_scripts': 'mojo_network_isolated_scripts',
        },
      },
      'Mojo Windows': {
        'additional_compile_targets': [
          'mash:all',
        ],
        'test_suites': {
          'gtest_tests': 'mojo_windows_gtests',
          'isolated_scripts': 'mojo_network_isolated_scripts',
        },
      },
      'Site Isolation Android': {
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'MMB29Q',
              'device_type': 'bullhead',
              'os': 'Android',
            },
          ],
          'hard_timeout': 960,
        },
        'test_suites': {
          'gtest_tests': 'site_isolation_android_fyi_gtests',
        },
      },
      'VR Linux': {
        'additional_compile_targets': [
          'vr_common_perftests',
          'vr_testapp',
        ],
        'test_suites': {
          'gtest_tests': 'vr_platform_specific_chromium_gtests',
        },
      },
      'WebKit Linux layout_ng Dummy Builder': {
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Ubuntu-14.04',
            },
          ],
          'hard_timeout': 900,
        },
        'test_suites': {
          'isolated_scripts': 'webkit_layout_tests_isolated_scripts',
        },
      },
      'WebKit Linux root_layer_scrolls Dummy Builder': {
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Ubuntu-14.04',
            },
          ],
          'hard_timeout': 900,
        },
        'test_suites': {
          'isolated_scripts': 'webkit_layout_tests_isolated_scripts',
        },
      },
      'WebKit Linux slimming_paint_v2 Dummy Builder': {
        # Normally, FYI tests run with a lower priority than main CI tests.
        # However, some optional CQ bots mirror FYI bots, so their tests need
        # to run at the same priority as other non-optional CQ bots to avoid
        # getting starved out.
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Ubuntu-14.04',
            },
          ],
          'hard_timeout': 900,
          'priority_adjustment': 30,
        },
        'test_suites': {
          'isolated_scripts': 'webkit_layout_tests_isolated_scripts',
        },
      },
      'Win 10 Fast Ring': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
        'use_swarming': False,
      },
      'Win Builder (dbg) Goma Canary': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Win Builder Goma Canary': {
        'additional_compile_targets': [
          'all',
          'pdf_fuzzers',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Win Goma Canary LocalOutputCache': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Win cl.exe Goma Canary LocalOutputCache': {
        # Build only chromium's subproject using cl.exe.
        'additional_compile_targets': [
          'libANGLE',
        ],
      },
      'Win7 Builder (dbg) Goma Canary': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Win7 Builder Goma Canary': {
        'additional_compile_targets': [
          'all',
          'pdf_fuzzers',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'WinMSVC64 Goma Canary': {
        # Build only chromium's subproject using cl.exe.
        'additional_compile_targets': [
          'libANGLE',
        ],
      },
      'android-mojo-webview-rel': {
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'MMB29Q',
              'device_type': 'bullhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
        'test_suites': {
          'gtest_tests': 'mojo_android_gtests',
        },
      },
      'chromeos-amd64-generic-rel-goma-canary': {
        'additional_compile_targets': [
          'chromiumos_preflight',
        ],
      },
      'chromeos-amd64-generic-rel-vm-tests': {
        'additional_compile_targets': [
          'chromiumos_preflight',
        ],
        'test_suites': {
          'gtest_tests': 'chromeos_gtests_experimental',
        },
        'swarming': {
          'dimension_sets': [
            {
              'kvm': '1',
              'os': 'Ubuntu-14.04',
              'pool': 'Chrome-CrOS-VM',
            },
          ],
          'hard_timeout': 3600,
          'io_timeout': 3600,
        },
      },
      'chromeos-kevin-rel-hw-tests': {
        'additional_compile_targets': [
          'chromiumos_preflight',
        ],
      },
      'fuchsia-fyi-arm64-rel': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'fuchsia_gtests',
        },
      },
      'fuchsia-fyi-x64-dbg': {
        'additional_compile_targets': [
          'all',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'kvm': '1',
            },
          ],
        },
        'test_suites': {
          'gtest_tests': 'fuchsia_gtests',
        },
      },
      'fuchsia-fyi-x64-rel': {
        'additional_compile_targets': [
          'all',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'kvm': '1',
            },
          ],
        },
        'test_suites': {
          'gtest_tests': 'fuchsia_gtests',
        },
      },
      'linux-annotator-rel': {
        'test_suites': {
          'scripts': 'test_traffic_annotation_auditor_script',
        }
      },
      'linux-blink-animation-use-time-delta': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_gtests',
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
      },
      'linux-blink-gen-property-trees': {
        'test_suites': {
          'isolated_scripts': 'webkit_layout_tests_isolated_scripts',
        },
      },
      'linux-blink-heap-incremental-marking': {
        'test_suites': {
          'gtest_tests': 'chromium_gtests',
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
      },
      'linux-blink-heap-unified-gc': {
        'test_suites': {
          'gtest_tests': 'chromium_gtests',
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
        'gtest_args': [
          '--enable-blink-features=HeapUnifiedGarbageCollection',
        ],
      },
      'linux-blink-heap-verification': {
        'test_suites': {
          'gtest_tests': 'chromium_gtests',
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
      },
      'linux-blink-rel-dummy': {
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Ubuntu-14.04',
            },
          ],
          'shards': 20,
        },
      },
      'linux-chromium-tests-staging-builder': {
        'additional_compile_targets': [
          'all'
        ],
        'test_suites': {
          'scripts': 'check_network_annotations_script',
        }
      },
      'linux-chromium-tests-staging-tests': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_gtests',
          'isolated_scripts': 'chromium_linux_rel_isolated_scripts',
        },
      },
      'linux-code-coverage': {
        'mixins': [
            'code-coverage',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_linux_coverage_gtests',
          'isolated_scripts': 'chromium_code_coverage_isolated_scripts',
        }
      },
      'linux-tcmalloc-rel': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_gtests',
          'isolated_scripts': 'chromium_linux_rel_isolated_scripts',
          'scripts': 'chromium_linux_scripts',
        },
      },
      'mac-mojo-rel': {
        'mixins': [
            'mac_10.13',
            'no_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'network_service_gtests',
          'isolated_scripts': 'mojo_network_isolated_scripts',
        },
      },
      'mac-osxbeta-rel': {
        'mixins': [
            'intel_iris_5100',
            'limited_capacity_bot',
            'mac_10.14',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_mac_fyi_gtests',
          'isolated_scripts': 'chromium_rel_isolated_scripts',
        },
      },
      'mac-views-rel': {
        'test_suites': {
          'gtest_tests': 'chromium_mac_fyi_gtests',
        },
        'args': [
          '--enable-features=ViewsBrowserWindows',
        ],
      },
      'mac10.10-blink-rel-dummy': {
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
        'swarming': {
          'dimension_sets': [
            {
              'gpu': 'none',
              'os': 'Mac-10.10.5',
            }
          ],
        },
      },
      'mac10.11-blink-rel-dummy': {
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
        'swarming': {
          'dimension_sets': [
            {
              'gpu': 'none',
              'os': 'Mac-10.11.6',
            }
          ],
        },
      },
      'mac10.12-blink-rel-dummy': {
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
        'swarming': {
          'dimension_sets': [
            {
              'gpu': 'none',
              'os': 'Mac-10.12.6',
            }
          ],
        },
      },
      'mac10.13-blink-rel-dummy': {
        'swarming': {
          'dimension_sets': [
            {
              # This matches the dimensions for "Chromium Mac10.13" in
              # chromium_fyi.py.
              'gpu': '8086:0a2e',
              'os': 'Mac-10.13',
            },
          ],
          'hard_timeout': 900,
        },
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
      },
      'mac10.13_retina-blink-rel-dummy': {
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '1002:6821',
              'hidpi': '1',
              'os': 'Mac-10.13.6',
              'pool': 'Chrome-GPU',
            }
          ],
        },
      },
      'win-annotator-rel': {
        'test_suites': {
          'scripts': 'test_traffic_annotation_auditor_script',
        }
      },
      'win10-blink-rel-dummy': {
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Windows-10-15063',
            },
          ],
          'hard_timeout': 900,
        },
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
      },
      'win7-blink-rel-dummy': {
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Windows-7-SP1',
            },
          ],
          'hard_timeout': 900,
        },
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
      },
    },
  },
  {
    'name': 'chromium.goma',
    'machines': {
      'Chromium Linux Goma GCE Staging': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Chromium Linux Goma RBE Staging': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Chromium Linux Goma RBE Staging (clobber)': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Chromium Linux Goma RBE Staging (dbg)': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Chromium Linux Goma RBE Staging (dbg) (clobber)': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Chromium Linux Goma Staging': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Chromium Mac Goma GCE Staging': {
        'additional_compile_targets': [
          # Due to disk shortage, we build 'chrome' instead of 'all'.
          # See crbug.com/899425
          'chrome',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Chromium Mac Goma RBE Staging (clobber)': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'Chromium Mac Goma Staging': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'CrWinClangGomaGCEStaging': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
      'CrWinGomaStaging': {
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'goma_gtests',
        },
      },
    },
  },
  {
    'name': 'chromium.gpu',
    'machines': {
      'Android Release (Nexus 5X)': {
        'browser_config': 'android-chromium',
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'marshmallow',
          'bullhead',
        ],
        'test_suites': {
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'GPU Linux Builder': {},
      'GPU Linux Builder (dbg)': {},
      'GPU Mac Builder': {},
      'GPU Mac Builder (dbg)': {},
      'GPU Win Builder': {},
      'GPU Win Builder (dbg)': {},
      'Linux Debug (NVIDIA)': {
        'browser_config': 'debug',
        'os_type': 'linux',
        'mixins': [
          'linux_nvidia_quadro_p400',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_desktop_gtests',
          'gpu_telemetry_tests': 'gpu_common_win_and_linux_telemetry_tests',
        },
      },
      'Linux Release (NVIDIA)': {
        'browser_config': 'release',
        'os_type': 'linux',
        'mixins': [
          'linux_nvidia_quadro_p400',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_desktop_gtests',
          'gpu_telemetry_tests': 'gpu_common_win_and_linux_telemetry_tests',
        },
      },
      'Mac Debug (Intel)': {
        'browser_config': 'debug',
        'os_type': 'mac',
        'mixins': [
          'mac_mini_intel_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_desktop_gtests',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Mac Release (Intel)': {
        'browser_config': 'release',
        'os_type': 'mac',
        'mixins': [
          'mac_mini_intel_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_desktop_gtests',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Mac Retina Debug (AMD)': {
        'browser_config': 'debug',
        'os_type': 'mac',
        'mixins': [
          'mac_retina_amd_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_desktop_gtests',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Mac Retina Release (AMD)': {
        'browser_config': 'release',
        'os_type': 'mac',
        'mixins': [
          'mac_retina_amd_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_desktop_gtests',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Win10 Debug (NVIDIA)': {
        'browser_config': 'debug',
        'os_type': 'win',
        'mixins': [
          'win10_nvidia_quadro_p400_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_win_gtests',
          'gpu_telemetry_tests': 'gpu_common_win_and_linux_telemetry_tests',
        },
      },
      'Win10 Release (NVIDIA)': {
        'browser_config': 'release',
        'os_type': 'win',
        'mixins': [
          'win10_nvidia_quadro_p400_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_win_gtests',
          'gpu_telemetry_tests': 'gpu_common_win_and_linux_telemetry_tests',
        },
        'use_multi_dimension_trigger_script': True,
      },
    },
  },
  {
    'name': 'chromium.gpu.fyi',
    'machines': {
      # BEGIN Fake builder used as mirror targets for ANGLE's GPU tryservers
      'ANGLE GPU Win10 Release (Intel HD 630)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win10_intel_hd_630_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_win_intel_gtests',
          'gpu_telemetry_tests': 'gpu_angle_win_intel_telemetry_tests',
        },
      },
      'ANGLE GPU Win10 Release (NVIDIA)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win10_nvidia_quadro_p400_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_win_nvidia_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_win_isolated_scripts',
          'gpu_telemetry_tests': 'gpu_angle_win_nvidia_telemetry_tests',
        },
      },
      # END Fake builder used as mirror targets for ANGLE's GPU tryservers
      'Android FYI 32 Vk Release (Nexus 5X)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'bullhead',
          'gpu_pool',
          'oreo',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
        },
      },
      'Android FYI 32 Vk Release (Pixel 2)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'gpu_pool',
          'pie',
          'walleye',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
        },
      },
      'Android FYI 32 Vk Release (Pixel XL)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'gpu_pool',
          'marlin',
          'pie',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
        },
      },
      'Android FYI 32 dEQP Vk Release (Nexus 5X)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'bullhead',
          'gpu_pool',
          'oreo',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_gles2_vulkan_tests',
        },
      },
      'Android FYI 32 dEQP Vk Release (Pixel 2)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'gpu_pool',
          'pie',
          'walleye',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_gles2_vulkan_tests',
        },
      },
      'Android FYI 32 dEQP Vk Release (Pixel XL)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'gpu_pool',
          'marlin',
          'pie',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_gles2_vulkan_tests',
        },
      },
      'Android FYI 64 Vk Release (Nexus 5X)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'bullhead',
          'gpu_pool',
          'oreo',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
        },
      },
      'Android FYI 64 Vk Release (Pixel 2)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'gpu_pool',
          'pie',
          'walleye',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
        },
      },
      'Android FYI 64 Vk Release (Pixel XL)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'gpu_pool',
          'marlin',
          'pie',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
        },
      },
      'Android FYI 64 dEQP Vk Release (Nexus 5X)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'bullhead',
          'gpu_pool',
          'oreo',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_gles2_vulkan_tests',
        },
      },
      'Android FYI 64 dEQP Vk Release (Pixel 2)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'gpu_pool',
          'pie',
          'walleye',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_gles2_vulkan_tests',
        },
      },
      'Android FYI 64 dEQP Vk Release (Pixel XL)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'gpu_pool',
          'marlin',
          'pie',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_gles2_vulkan_tests',
        },
      },
      'Android FYI Release (NVIDIA Shield TV)': {
        'browser_config': 'android-chromium',
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'foster',
          'gpu_pool',
          'nougat',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_android_and_mac_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Android FYI Release (Nexus 5)': {
        'browser_config': 'android-chromium',
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'gpu_pool',
          'hammerhead',
          'lollipop',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_android_and_mac_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Android FYI Release (Nexus 5X)': {
        'browser_config': 'android-chromium',
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'marshmallow',
          'bullhead',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_android_and_mac_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Android FYI Release (Nexus 6)': {
        'browser_config': 'android-chromium',
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'gpu_pool',
          'lollipop',
          'shamu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_android_and_mac_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Android FYI Release (Nexus 6P)': {
        'browser_config': 'android-chromium',
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'angler',
          'gpu_pool',
          'marshmallow_generic',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_android_and_mac_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Android FYI Release (Nexus 9)': {
        'browser_config': 'android-chromium',
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'flounder',
          'gpu_pool',
          'marshmallow_generic',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_android_and_mac_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Android FYI dEQP Release (Nexus 5X)': {
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'marshmallow',
          'bullhead',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_android_gtests',
        },
      },
      # BEGIN Fake builder used as mirror targets for Dawn's GPU tryservers
      'Dawn GPU Win10 Release (Intel HD 630)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win10_intel_hd_630_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_dawn_end2end_tests',
        },
      },
      'Dawn GPU Win10 Release (NVIDIA)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win10_nvidia_quadro_p400_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_dawn_end2end_tests',
        },
      },
      # END Fake builder used as mirror targets for Dawn's GPU tryservers
      'GPU FYI Linux Builder' : {},
      'GPU FYI Linux Builder (dbg)' : {},
      'GPU FYI Linux Ozone Builder' : {},
      'GPU FYI Linux dEQP Builder' : {},
      'GPU FYI Mac Builder' : {},
      'GPU FYI Mac Builder (dbg)' : {},
      'GPU FYI Mac dEQP Builder' : {},
      'GPU FYI Win Builder' : {},
      'GPU FYI Win Builder (dbg)' : {},
      'GPU FYI Win dEQP Builder': {},
      'GPU FYI Win x64 Builder' : {},
      'GPU FYI Win x64 Builder (dbg)' : {},
      'GPU FYI Win x64 dEQP Builder' : {},
      'Linux FYI Debug (NVIDIA)': {
        'browser_config': 'debug',
        'os_type': 'linux',
        'mixins': [
          'linux_nvidia_quadro_p400',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_linux_debug_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_win_and_linux_telemetry_tests',
        },
      },
      'Linux FYI Experimental Release (NVIDIA)': {
        'os_type': 'linux',
        'browser_config': 'release',
        'swarming': {
          'dimension_sets': [
            {
              # LINUX_QUADRO_P400_EXPERIMENTAL_DRIVER
              # TODO(jmadill): Update this with new driver. http://crbug.com/887241
              'gpu': '10de:1cb3-384.90',
              'os': 'Ubuntu',
              'pool': 'Chrome-GPU',
            },
          ],
        },
        # Currently the experimental driver is identical to the stable
        # driver. If it's upgraded, change these test_suites to be the same as
        # 'Linux FYI Release (NVIDIA)'.
        # TODO(jmadill): Update this to add tests. http://crbug.com/887241
        'test_suites': {
          'gpu_telemetry_tests': 'gpu_noop_sleep_telemetry_test',
        },
      },
      'Linux FYI GPU TSAN Release': {
        # This bot doesn't run any Telemetry-based tests so doesn't
        # need the browser_config parameter.
        'os_type': 'linux',
        'mixins': [
          'linux_nvidia_quadro_p400',
        ],
        'test_suites': {
          # This bot doesn't run any browser-based tests
          # (tab_capture_end2end_tests) either.
          'gtest_tests': 'gpu_fyi_linux_debug_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
        },
      },
      'Linux FYI Ozone (Intel)': {
        'os_type': 'linux',
        'mixins': [
          'linux_intel_hd_530',
        ],
        # This bot runs only a few tests so far.
        'test_suites': {
          'gtest_tests': 'gpu_angle_gtests',
        },
      },
      'Linux FYI Release (AMD R7 240)': {
        'os_type': 'linux',
        'browser_config': 'release',
        # There's only one bot of this type in the Swarming pool right now, so
        # we have to increase the default expiration time of 1 hour (3600
        # seconds) to prevent webgl2_conformance_tests' shards from timing
        # out.
        'mixins': [
          'limited_capacity_bot',
          'linux_amd_r7_240',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_linux_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_win_and_linux_release_telemetry_tests',
        },
      },
      'Linux FYI Release (Intel HD 630)': {
        'os_type': 'linux',
        'browser_config': 'release',
        'mixins': [
          'linux_intel_hd_630',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_linux_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_linux_intel_and_nvidia_release_telemetry_tests',
        },
      },
      'Linux FYI Release (NVIDIA)': {
        'os_type': 'linux',
        'browser_config': 'release',
        'mixins': [
          'linux_nvidia_quadro_p400',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_linux_release_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
          'gpu_telemetry_tests': 'gpu_fyi_linux_intel_and_nvidia_release_telemetry_tests',
        },
      },
      'Linux FYI dEQP Release (Intel HD 630)': {
        'os_type': 'linux',
        'browser_config': 'release',
        'mixins': [
          'linux_intel_hd_630',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_gles2_gl_tests',
        },
      },
      'Linux FYI dEQP Release (NVIDIA)': {
        'os_type': 'linux',
        'browser_config': 'release',
        'mixins': [
          'linux_nvidia_quadro_p400',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_linux_nvidia_gtests',
        },
      },
      'Mac FYI 10.14 Release (AMD)': {
        'os_type': 'mac',
        'browser_config': 'release',
        'mixins': [
          'amd_8870m',
          'gpu_pool',
          'limited_capacity_bot',
          'mac_10.14',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
        },
      },
      'Mac FYI 10.14 Release (Intel)': {
        'os_type': 'mac',
        'browser_config': 'release',
        'mixins': [
          'gpu_pool',
          'intel_iris_5100',
          'limited_capacity_bot',
          'mac_10.14',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
        },
      },
      'Mac FYI 10.14 Release (NVIDIA)': {
        'os_type': 'mac',
        'browser_config': 'release',
        'mixins': [
          'gpu_pool',
          'mac_10.14',
          'limited_capacity_bot',
          'nvidia_750m_mac_edition',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
        },
      },
      'Mac FYI Debug (Intel)': {
        'os_type': 'mac',
        'browser_config': 'debug',
        'mixins': [
          'mac_mini_intel_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_debug_gtests',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Mac FYI Experimental Release (Intel)': {
        'os_type': 'mac',
        'browser_config': 'release',
        'mixins': [
          'mac_mini_intel_gpu_experimental',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
        },
      },
      'Mac FYI Experimental Retina Release (AMD)': {
        'os_type': 'mac',
        'browser_config': 'release',
        'mixins': [
          'mac_retina_amd_gpu_experimental',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
        },
      },
      'Mac FYI Experimental Retina Release (NVIDIA)': {
        'os_type': 'mac',
        'browser_config': 'release',
        'mixins': [
          'limited_capacity_bot',
          'mac_retina_nvidia_gpu_experimental',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
        },
      },
      'Mac FYI GPU ASAN Release': {
        'os_type': 'mac',
        'browser_config': 'release',
        'swarming': {
          'dimension_sets': [
            # This bot spawns jobs on multiple GPU types.
            # TODO(kbr): figure out how to use mixins for these.
            {
              'gpu': '8086:0a2e',
              'os': 'Mac-10.12.6',
            },
            {
              'gpu': '1002:6821',
              'hidpi': '1',
              'os': 'Mac-10.13.6',
              'pool': 'Chrome-GPU',
            },
          ],
        },
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
        },
      },
      'Mac FYI Release (Intel)': {
        'os_type': 'mac',
        'browser_config': 'release',
        'mixins': [
          'mac_mini_intel_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
        },
      },
      'Mac FYI Retina Debug (AMD)': {
        'os_type': 'mac',
        'browser_config': 'debug',
        'mixins': [
          'mac_retina_amd_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_debug_gtests',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Mac FYI Retina Debug (NVIDIA)': {
        'os_type': 'mac',
        'browser_config': 'debug',
        'mixins': [
          'mac_retina_nvidia_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_debug_gtests',
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Mac FYI Retina Release (AMD)': {
        'os_type': 'mac',
        'browser_config': 'release',
        'mixins': [
          'mac_retina_amd_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
        },
      },
      'Mac FYI Retina Release (NVIDIA)': {
        'os_type': 'mac',
        'browser_config': 'release',
        'mixins': [
          'mac_retina_nvidia_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
        },
      },
      'Mac FYI dEQP Release AMD': {
        'os_type': 'mac',
        'mixins': [
          'mac_retina_amd_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_mac_gtests',
        },
      },
      'Mac FYI dEQP Release Intel': {
        'os_type': 'mac',
        'mixins': [
          'mac_mini_intel_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_mac_gtests',
        },
      },
      'Mac Pro FYI Release (AMD)': {
        'os_type': 'mac',
        'browser_config': 'release',
        # There are only two bots of this type in the Swarming pool right now,
        # so we have to increase the default expiration time of 1 hour (3600
        # seconds) to prevent webgl2_conformance_tests' shards from timing
        # out.
        'mixins': [
          'limited_capacity_bot',
          'mac_pro_amd_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_release_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_mac_release_telemetry_tests',
        },
      },
      # BEGIN Fake builder used as mirror targets for Optional GPU tryservers
      'Optional Android Release (Nexus 5X)': {
        'os_type': 'android',
        'mixins': [
          'marshmallow',
          'bullhead',
        ],
        # No tests run on this bot right now; they are all running on the main
        # android_n5x_swarming_rel bot. We should get the WebGL 2.0 conformance
        # tests running on this bot, similarly to how they run on the optional
        # desktop trybots.
      },
      'Optional Linux Release (Intel HD 630)': {
        'os_type': 'linux',
        'browser_config': 'release',
        'mixins': [
          'linux_intel_hd_630',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_linux_optional_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_optional_linux_telemetry_tests',
        },
      },
      'Optional Linux Release (NVIDIA)': {
        'os_type': 'linux',
        'browser_config': 'release',
        'mixins': [
          'linux_nvidia_quadro_p400',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_linux_optional_gtests',
          # This optional tryserver additionally runs angle_perftests.
          'isolated_scripts': 'gpu_fyi_and_optional_isolated_scripts',
          'gpu_telemetry_tests': 'gpu_fyi_optional_linux_telemetry_tests',
        },
      },
      'Optional Mac Release (Intel)': {
        'os_type': 'mac',
        'browser_config': 'release',
        'mixins': [
          'mac_mini_intel_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_optional_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_optional_telemetry_tests',
        },
      },
      'Optional Mac Retina Release (AMD)': {
        'os_type': 'mac',
        'browser_config': 'release',
        'mixins': [
          'mac_retina_amd_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_optional_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_optional_telemetry_tests',
        },
      },
      'Optional Mac Retina Release (NVIDIA)': {
        'os_type': 'mac',
        'browser_config': 'release',
        'mixins': [
          'mac_retina_nvidia_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_mac_optional_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_optional_telemetry_tests',
        },
      },
      'Optional Win10 Release (Intel HD 630)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win10_intel_hd_630_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_win_optional_gtests',
          'gpu_telemetry_tests': 'gpu_optional_win_telemetry_tests',
        },
      },
      'Optional Win10 Release (NVIDIA)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win10_nvidia_quadro_p400_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_win_optional_gtests',
          # This optional tryserver additionally runs angle_perftests.
          'isolated_scripts': 'gpu_fyi_and_optional_win_isolated_scripts',
          'gpu_telemetry_tests': 'gpu_optional_win_telemetry_tests',
        },
        'use_multi_dimension_trigger_script': True,
      },
      # END Fake builder used as mirror targets for Optional GPU tryservers
      'Win10 FYI Debug (NVIDIA)': {
        'os_type': 'win',
        'browser_config': 'debug',
        'mixins': [
          'win10_nvidia_quadro_p400_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_win_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_win_debug_telemetry_tests',
        },
      },
      'Win10 FYI Exp Release (Intel HD 630)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win10_intel_hd_630_experimental',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_win_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_win_release_telemetry_tests',
        },
      },
      # TODO(kbr): "Experimental" caused too-long path names pre-LUCI.
      # crbug.com/812000
      'Win10 FYI Exp Release (NVIDIA)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win10_nvidia_quadro_p400_experimental',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_win_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_win_isolated_scripts',
          'gpu_telemetry_tests': 'gpu_fyi_win_release_telemetry_tests',
        },
      },
      'Win10 FYI Release (Intel HD 630)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win10_intel_hd_630_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_win_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_win_release_telemetry_tests',
        },
      },
      'Win10 FYI Release (NVIDIA)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win10_nvidia_quadro_p400_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_win_gtests',
          'isolated_scripts': 'gpu_fyi_and_optional_win_isolated_scripts',
          'gpu_telemetry_tests': 'gpu_fyi_win_release_telemetry_tests',
        },
        'use_multi_dimension_trigger_script': True,
      },
      'Win10 FYI dEQP Release (Intel HD 630)': {
        'os_type': 'win',
        'mixins': [
          'win10_intel_hd_630_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_gles2_d3d11_tests',
        },
      },
      'Win10 FYI dEQP Release (NVIDIA)': {
        'os_type': 'win',
        'mixins': [
          'win10_nvidia_quadro_p400_stable',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_win_nvidia_gtests',
        },
      },
      # This tryserver doesn't actually exist; it's a separate
      # configuration from the Win AMD bot on this waterfall because we
      # don't have enough tryserver capacity to run all the tests from
      # that bot on win_angle_rel_ng.
      'Win7 ANGLE Tryserver (AMD)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win7_amd_r7_240',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_win_angle_amd_gtests',
          'gpu_telemetry_tests': 'gpu_win_angle_amd_telemetry_tests',
        },
      },
      'Win7 FYI Debug (AMD)': {
        'os_type': 'win',
        'browser_config': 'debug',
        'mixins': [
          'win7_amd_r7_240',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_win_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_win_debug_telemetry_tests',
        },
      },
      'Win7 FYI Release (AMD)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win7_amd_r7_240',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_win_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_win_amd_telemetry_tests',
        },
      },
      'Win7 FYI Release (NVIDIA)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win7_nvidia_quadro_p400',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_win7_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_win7_nvidia_release_telemetry_tests',
        },
        'use_multi_dimension_trigger_script': True,
      },
      'Win7 FYI dEQP Release (AMD)': {
        'os_type': 'win',
        'mixins': [
          'win7_amd_r7_240',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_angle_deqp_win_amd_gtests',
        },
      },
      'Win7 FYI x64 Release (NVIDIA)': {
        'os_type': 'win',
        'browser_config': 'release_x64',
        'mixins': [
          'win7_nvidia_quadro_p400',
        ],
        'test_suites': {
          'gtest_tests': 'gpu_fyi_win7_gtests',
          'gpu_telemetry_tests': 'gpu_fyi_win7_nvidia_release_telemetry_tests',
        },
      },
      'Win7 FYI x64 dEQP Release (NVIDIA)': {}
    },
  },
  {
    'name': 'chromium.linux',
    'machines': {
      'Cast Audio Linux': {
        'additional_compile_targets': [
          'cast_shell',
          'cast_test_lists',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_linux_cast_audio_gtests',
        },
      },
      'Cast Linux': {
        'additional_compile_targets': [
          'cast_shell',
          'cast_test_lists',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_linux_cast_video_gtests',
        },
      },
      'Fuchsia ARM64': {
        'additional_compile_targets': [
          'all',
        ],
      },
      'Fuchsia x64': {
        'additional_compile_targets': [
          'all',
        ],
        'args': [
          '--qemu-require-kvm',
        ],
        'swarming': {
          'dimension_sets': [
            {
              'kvm': '1',
            },
          ],
        },
        'test_suites': {
          'gtest_tests': 'fuchsia_gtests',
        },
      },
      'Leak Detection Linux': {
        'test_suites': {
          'isolated_scripts': 'leak_detection_isolated_scripts',
        },
      },
      'Linux Builder': {
        'additional_compile_targets': [
          'all'
        ],
        'test_suites': {
          'scripts': 'check_network_annotations_script',
        }
      },
      'Linux Builder (dbg)': {
        'additional_compile_targets': [
          'all'
        ]
      },
      'Linux Builder (dbg)(32)': {
        'additional_compile_targets': [
          'google_apis_unittests',
          'sync_integration_tests'
        ]
      },
      'Linux Tests': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_gtests',
          'isolated_scripts': 'chromium_linux_rel_isolated_scripts',
          'scripts': 'chromium_linux_scripts',
        },
      },
      'Linux Tests (dbg)(1)': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_gtests',
          'isolated_scripts': 'chromium_linux_dbg_isolated_scripts',
        },
      },
      'Linux Tests (dbg)(1)(32)': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_gtests',
          'isolated_scripts': 'chromium_linux_dbg_isolated_scripts',
        },
      },
      'fuchsia-arm64-cast': {
        'additional_compile_targets': [
          'cast_shell',
          'cast_test_lists',
        ],
      },
      'fuchsia-x64-cast': {
        'additional_compile_targets': [
          'cast_shell',
          'cast_test_lists',
        ],
        'args': [
          '--qemu-require-kvm',
        ],
      },
      'linux-gcc-rel': {
        'additional_compile_targets': [
          'empty_main',
        ],
      },
      'linux-goma-rbe-staging-rel': {
        'additional_compile_targets': [
          'all'
        ]
      },
      'linux-jumbo-rel': {
        'additional_compile_targets': [
          'all'
        ]
      },
      'linux-ozone-rel': {
        'additional_compile_targets': [
          'chrome',
        ],
        'test_suites': {
          'gtest_tests': 'ozone_linux_gtests',
        },
      },
      'linux-xenial-rel': {
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Ubuntu-16.04',
            },
          ],
        },
        'additional_compile_targets': [
          'all',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_linux_gtests',
          'isolated_scripts': 'chromium_linux_rel_isolated_scripts',
          'scripts': 'chromium_linux_scripts',
        },
      },
    },
  },
  {
    'name': 'chromium.lkgr',
    'machines': {
      'ASAN Debug': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'ASAN Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'ASAN Release Media': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'ASan Debug (32-bit x86 with V8-ARM)': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'ASan Release (32-bit x86 with V8-ARM)': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'ASan Release Media (32-bit x86 with V8-ARM)': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'ChromiumOS ASAN Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'MSAN Release (chained origins)': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'MSAN Release (no origins)': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'Mac ASAN Debug': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'Mac ASAN Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'Mac ASAN Release Media': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'TSAN Debug': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'TSAN Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'UBSan Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'UBSan vptr Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'Win ASan Release': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
      'Win ASan Release Media': {
        'additional_compile_targets': [
          'chromium_builder_asan',
        ],
      },
    },
  },
  {
    'name': 'chromium.mac',
    'machines': {
      'Mac Builder': {
        'additional_compile_targets': [
          'pdf_fuzzers',
        ],
      },
      'Mac10.10 Tests': {
        'mixins': [
            'mac_10.10',
            'no_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_mac_gtests',
          'isolated_scripts': 'chromium_rel_isolated_scripts',
        },
      },
      'Mac10.11 Tests': {
        'mixins': [
            'mac_10.11',
            'no_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_mac_gtests',
          'isolated_scripts': 'chromium_rel_isolated_scripts',
        },
      },
      'Mac10.12 Tests': {
        'mixins': [
            'mac_mini_10.12',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_mac_gtests',
          'isolated_scripts': 'chromium_rel_isolated_scripts',
        },
      },
      'Mac10.13 Tests': {
        'mixins': [
            'mac_10.13',
            'no_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_mac_gtests',
          'isolated_scripts': 'chromium_rel_isolated_scripts',
          'scripts': 'chromium_scripts',
        },
      },
      'Mac10.13 Tests (dbg)': {
        'mixins': [
            'mac_10.13',
            'no_gpu',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_mac_gtests',
          'isolated_scripts': 'chromium_dbg_isolated_scripts',
        },
      },
      'WebKit Mac10.13 (retina)': {
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '1002:6821',
              'hidpi': '1',
              'os': 'Mac-10.13.6',
              'pool': 'Chrome-GPU',
            }
          ],
        },
      },
      'mac-jumbo-rel': {
        'additional_compile_targets': [
          'all'
        ]
      },
    },
  },
  {
    'name': 'chromium.memory',
    'machines': {
      'Android CFI': {
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'MMB29Q',
              'device_type': 'bullhead',
              'os': 'Android',
            },
          ],
        },
        'os_type': 'android',
        'test_suites': {
          'gtest_tests': 'chromium_android_gtests',
        },
      },
      'Linux ASan LSan Tests (1)': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_and_gl_gtests',
        },
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'Linux ASan Tests (sandboxed)': {
        'test_suites': {
          'gtest_tests': 'sandboxed_chromium_memory_linux_gtests',
        },
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'Linux CFI': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_and_gl_gtests',
        },
      },
      'Linux Chromium OS ASan LSan Tests (1)': {
        'test_suites': {
          'gtest_tests': 'linux_chromeos_gtests',
        },
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'Linux ChromiumOS MSan Tests': {
        'mixins': [
          'linux-trusty',
          'x86-64',
        ],
        'test_suites': {
          'gtest_tests': 'linux_chromeos_gtests',
        },
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'Linux MSan Tests': {
        'mixins': [
          'linux-trusty',
          'x86-64',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_linux_and_gl_gtests',
        },
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'Linux TSan Tests': {
        'test_suites': {
          'gtest_tests': 'chromium_linux_and_gl_gtests',
        },
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'Mac ASan 64 Tests (1)': {
        'test_suites': {
          'gtest_tests': 'chromium_mac_gtests',
        },
        'args': [
          '--test-launcher-print-test-stdio=always',
        ],
      },
      'win-asan': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'os': 'Windows-10-15063',
            },
          ],
        },
      },
    },
  },
  {
    'name': 'chromium.swarm',
    'machines': {
      'Android N5 Swarm': {
        'test_suites': {
           'gtest_tests': 'chromium_swarm_android_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'KTU84P',
              'device_type': 'hammerhead',
              'os': 'Android',
            },
          ],
          'expiration': 10800,
        },
        'os_type': 'android',
      },
      'Android N5X Swarm': {
        'test_suites': {
           'gtest_tests': 'chromium_swarm_android_gtests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_os': 'MMB29Q',
              'device_type': 'bullhead',
              'os': 'Android',
            },
          ],
          'expiration': 10800,
        },
        'os_type': 'android',
      },
      'ChromeOS Swarm': {
        'additional_compile_targets': [
          'chromiumos_preflight',
        ],
        'test_suites': {
          'isolated_scripts': 'chromeos_remote_device_isolated_tests',
        },
        'swarming': {
          'dimension_sets': [
            {
              'device_type': 'kevin-signed-mpkeys',
              'os': 'ChromeOS',
            }
          ],
        },
      },
      'Linux Swarm': {
        'test_suites': {
           'gtest_tests': 'chromium_swarm_linux_gtests',
        },
      },
      'Mac Swarm': {
        'test_suites': {
           'gtest_tests': 'chromium_swarm_desktop_gtests',
        },
      },
      'Windows Swarm': {
        'test_suites': {
           'gtest_tests': 'chromium_swarm_desktop_gtests',
        },
      },
    },
  },
  {
    'name': 'chromium.webkit',
    'machines': {
      'WebKit Linux Trusty ASAN': {
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
      },
      'WebKit Linux Trusty Leak': {
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
      },
      'WebKit Linux Trusty MSAN': {
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
      },
      # TODO(vadimsh): This builder is in chromium.mac on LUCI, see
      # crbug.com/864817.
      'WebKit Mac10.13 (retina)': {
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
        'swarming': {
          'dimension_sets': [
            {
              'gpu': '1002:6821',
              'hidpi': '1',
              'os': 'Mac-10.13.6',
              'pool': 'Chrome-GPU',
            }
          ],
        },
      },
      # TODO(jchinlee): This builder is in chromium.win on LUCI, see
      # crbug.com/790343.
      'WebKit Win10': {
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
      },
    },
  },
  {
    'name': 'chromium.webrtc',
    'machines': {
      'Android Builder': {},
      'Android Tester': {
        'test_suites': {
          'gtest_tests': 'webrtc_android_tests_with_baremetal_tests',
        },
      },
      'Mac Builder': {
        'additional_compile_targets': [
          'frame_analyzer',
          'jingle_unittests',
          'remoting_unittests',
        ],
      },
      'Mac Tester': {
        'test_suites': {
          'gtest_tests': 'webrtc_chromium_tests_with_baremetal_tests',
        },
      },
      'Mac Tester (long-running)': {},
      'WebRTC Chromium Linux Builder': {
        'additional_compile_targets': [
          'frame_analyzer',
          'jingle_unittests',
          'remoting_unittests',
        ],
      },
      'WebRTC Chromium Linux Tester': {
        'test_suites': {
          'gtest_tests': 'webrtc_chromium_tests_with_baremetal_tests',
        },
      },
      'Win Builder': {
        'additional_compile_targets': [
          'frame_analyzer',
          'jingle_unittests',
          'remoting_unittests',
        ],
      },
      'Win10 Tester': {
        'test_suites': {
          'gtest_tests': 'webrtc_chromium_tests_with_baremetal_tests',
        },
      },
      'Win7 Tester': {
        'test_suites': {
          'gtest_tests': 'webrtc_chromium_tests_with_baremetal_tests',
        },
      },
      # TODO(crbug.com/877018): delete long-running bots.
      'Win7 Tester (long-running)': {},
      'Win8 Tester': {
        'test_suites': {
          'gtest_tests': 'webrtc_chromium_tests_with_baremetal_tests',
        },
      },
    },
  },
  {
    'name': 'chromium.webrtc.fyi',
    'machines': {
      # For builders, specify targets if the builder has no associated
      # tester (if it does, it will build what the tester needs).
      'WebRTC Chromium FYI Android Builder': {
        'additional_compile_targets': [
          'browser_tests',
          'capture_unittests',
          'content_browsertests',
          'content_unittests',
          'jingle_unittests',
          'remoting_unittests',
        ],
      },
      'WebRTC Chromium FYI Android Builder (dbg)': {},
      'WebRTC Chromium FYI Android Builder ARM64 (dbg)': {},
      'WebRTC Chromium FYI Android Tests (dbg) (K Nexus5)': {
        'mixins': [
          'kitkat',
          'hammerhead',
        ],
        'test_suites': {
          'gtest_tests': 'webrtc_chromium_simple_gtests',
        },
      },
      'WebRTC Chromium FYI Android Tests (dbg) (M Nexus5X)': {
        'mixins': [
          'marshmallow',
          'bullhead',
        ],
        'test_suites': {
          'gtest_tests': 'webrtc_chromium_simple_gtests',
        },
      },
      'WebRTC Chromium FYI Linux Builder': {
        'additional_compile_targets': [
          'frame_analyzer',
          'remoting/webapp:webapp',
        ],
      },
      'WebRTC Chromium FYI Linux Builder (dbg)': {
        'additional_compile_targets': [
          'browser_tests',
          'capture_unittests',
          'content_browsertests',
          'content_unittests',
          'frame_analyzer',
          'jingle_unittests',
          'remoting_unittests',
          'remoting/webapp:webapp',
        ],
      },
      'WebRTC Chromium FYI Linux Tester': {
        'mixins': [
          'x86-64',
          'linux-trusty',
        ],
        'test_suites': {
          'gtest_tests': 'webrtc_chromium_gtests',
        },
      },
      'WebRTC Chromium FYI Mac Builder': {
        'additional_compile_targets': [
          'frame_analyzer',
          'remoting/webapp:webapp',
        ],
      },
      'WebRTC Chromium FYI Mac Builder (dbg)': {
        'additional_compile_targets': [
          'browser_tests',
          'capture_unittests',
          'content_browsertests',
          'content_unittests',
          'frame_analyzer',
          'jingle_unittests',
          'remoting_unittests',
          'remoting/webapp:webapp',
        ],
      },
      'WebRTC Chromium FYI Mac Tester': {
        'mixins': [
          'mac_mini_10.12',
        ],
        'test_suites': {
          'gtest_tests': 'webrtc_chromium_gtests',
        },
      },
      'WebRTC Chromium FYI Win Builder': {
        'additional_compile_targets': [
          'frame_analyzer',
          'remoting/webapp:webapp',
        ],
      },
      'WebRTC Chromium FYI Win Builder (dbg)': {
        'additional_compile_targets': [
          'browser_tests',
          'capture_unittests',
          'content_browsertests',
          'content_unittests',
          'frame_analyzer',
          'jingle_unittests',
          'remoting_unittests',
          'remoting/webapp:webapp',
        ],
      },
      'WebRTC Chromium FYI Win10 Tester': {
        'mixins': [
          'x86-64',
          'win10',
        ],
        'test_suites': {
          'gtest_tests': 'webrtc_chromium_gtests',
        },
      },
      'WebRTC Chromium FYI Win7 Tester': {
        'mixins': [
          'x86-64',
          'win7',
        ],
        'test_suites': {
          'gtest_tests': 'webrtc_chromium_gtests',
        },
      },
      'WebRTC Chromium FYI Win8 Tester': {
        'mixins': [
          'x86-64',
          'win8',
        ],
        'test_suites': {
          'gtest_tests': 'webrtc_chromium_gtests',
        },
      },
    },
  },
  {
    'name': 'chromium.win',
    'machines': {
      'WebKit Win10': {
        'test_suites': {
          'isolated_scripts': 'chromium_webkit_isolated_scripts',
        },
      },
      'Win 7 Tests x64 (1)': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
          'isolated_scripts': 'chromium_rel_isolated_scripts',
        },
      },
      'Win Builder': {
        'additional_compile_targets': [
          'pdf_fuzzers'
        ],
        'test_suites': {
          'scripts': 'check_network_annotations_script',
        },
      },
      'Win10 Tests x64': {
        'mixins': [
          'x86-64',
          'win10',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
          'isolated_scripts': 'win_specific_isolated_scripts',
        },
      },
      'Win10 Tests x64 (dbg)': {
        'mixins': [
          'x86-64',
          'win10',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
          'isolated_scripts': 'chromium_dbg_isolated_scripts',
        },
      },
      'Win7 (32) Tests': {
        'mixins': [
          'x86-32',
          'win7',
        ],
        'test_suites': {
          'gtest_tests': 'win7_32_bit_gtests',
        }
      },
      'Win7 Tests (1)': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
          'isolated_scripts': 'chromium_rel_isolated_scripts',
          'scripts': 'chromium_scripts',
        },
      },
      'Win7 Tests (dbg)(1)': {
        'test_suites': {
          'gtest_tests': 'chromium_win_gtests',
          'isolated_scripts': 'chromium_dbg_isolated_scripts',
        },
      },
      'win-jumbo-rel': {
        'additional_compile_targets': [
          'all'
        ]
      },
    },
  },
  {
    'name': 'client.v8.branches',
    'machines': {},
  },
  {
    'name': 'client.v8.chromium',
    'machines': {
      'Linux - Future': {
        'test_suites': {
          'gtest_tests': 'client_v8_chromium_gtests',
          'isolated_scripts': 'client_v8_chromium_isolated_scripts',
        },
      },
      'Linux - Future (dbg)': {
        'test_suites': {
          'gtest_tests': 'client_v8_chromium_gtests',
          'isolated_scripts': 'client_v8_chromium_isolated_scripts',
        },
      },
    },
  },
  {
    'name': 'client.v8.fyi',
    'machines': {
      'Android V8 FYI Release (Nexus 5X)': {
        'browser_config': 'android-chromium',
        'os_type': 'android',
        'skip_merge_script': True,
        'mixins': [
          'bullhead',
          'marshmallow',
        ],
        'test_suites': {
          'gpu_telemetry_tests': 'gpu_common_telemetry_tests',
        },
      },
      'Linux V8 FYI Release (NVIDIA)': {
        'os_type': 'linux',
        'browser_config': 'release',
        'mixins': [
          'linux_nvidia_quadro_p400',
        ],
        'test_suites': {
          'gpu_telemetry_tests': 'gpu_v8_desktop_telemetry_tests',
        },
      },
      'Linux V8 FYI Release - concurrent marking (NVIDIA)': {
        'os_type': 'linux',
        'browser_config': 'release',
        'mixins': [
          'linux_nvidia_quadro_p400',
        ],
        'test_suites': {
          'gpu_telemetry_tests': 'gpu_v8_desktop_telemetry_tests',
        },
      },
      'Mac V8 FYI Release (Intel)': {
        'browser_config': 'release',
        'os_type': 'mac',
        'mixins': [
          'mac_mini_intel_gpu',
        ],
        'test_suites': {
          'gpu_telemetry_tests': 'gpu_v8_desktop_telemetry_tests',
        },
      },
      'V8 Android GN (dbg)': {
        'additional_compile_targets': [
          'chrome_public_apk'
        ],
      },
      'V8 Linux GN': {
        'additional_compile_targets': [
          'accessibility_unittests',
          'aura_unittests',
          'browser_tests',
          'cacheinvalidation_unittests',
          'capture_unittests',
          'cast_unittests',
          'cc_unittests',
          'chromedriver_unittests',
          'components_browsertests',
          'components_unittests',
          'content_browsertests',
          'content_unittests',
          'crypto_unittests',
          'dbus_unittests',
          'device_unittests',
          'display_unittests',
          'events_unittests',
          'extensions_browsertests',
          'extensions_unittests',
          'gcm_unit_tests',
          'gfx_unittests',
          'google_apis_unittests',
          'gpu_unittests',
          'interactive_ui_tests',
          'ipc_tests',
          'jingle_unittests',
          'media_unittests',
          'media_blink_unittests',
          'mojo_unittests',
          'nacl_loader_unittests',
          'net_unittests',
          'pdf_unittests',
          'ppapi_unittests',
          'printing_unittests',
          'remoting_unittests',
          'sandbox_linux_unittests',
          'skia_unittests',
          'sql_unittests',
          'storage_unittests',
          'sync_integration_tests',
          'ui_base_unittests',
          'ui_touch_selection_unittests',
          'unit_tests',
          'url_unittests',
          'views_unittests',
          'wm_unittests',
        ],
      },
      'Win V8 FYI Release (NVIDIA)': {
        'os_type': 'win',
        'browser_config': 'release',
        'mixins': [
          'win10_nvidia_quadro_p400_stable',
        ],
        'test_suites': {
          'gpu_telemetry_tests': 'gpu_v8_desktop_telemetry_tests',
        },
      },
    },
  },
  {
    'name': 'tryserver.chromium.linux',
    'machines': {
      'linux-coverage-rel': {
        'mixins': [
	  'code-coverage',
        ],
        'test_suites': {
          'gtest_tests': 'chromium_linux_coverage_gtests',
          'isolated_scripts': 'chromium_code_coverage_isolated_scripts',
        },
      },
    },
  },
  {
    'name': 'tryserver.webrtc',
    'machines': {
      'android_chromium_compile': {
        'additional_compile_targets': [
          'browser_tests',
          'capture_unittests',
          'content_browsertests',
          'content_unittests',
          'jingle_unittests',
          'remoting_unittests',
          'webkit_unit_tests',
        ],
      },
      'linux_chromium_compile': {
        'additional_compile_targets': [
          'browser_tests',
          'capture_unittests',
          'content_browsertests',
          'content_unittests',
          'jingle_unittests',
          'remoting_unittests',
          'remoting/webapp:webapp',
          'webkit_unit_tests',
        ],
      },
      'mac_chromium_compile': {
        'additional_compile_targets': [
          'browser_tests',
          'capture_unittests',
          'content_browsertests',
          'content_unittests',
          'jingle_unittests',
          'remoting_unittests',
          'remoting/webapp:webapp',
          'webkit_unit_tests',
        ],
      },
      'win_chromium_compile': {
        'additional_compile_targets': [
          'browser_tests',
          'capture_unittests',
          'content_browsertests',
          'content_unittests',
          'jingle_unittests',
          'remoting_unittests',
          'remoting/webapp:webapp',
          'webkit_unit_tests',
        ],
      },
    },
  },
]
