chromium/tools/mb/mb_config.pyl

# Copyright 2015 The Chromium Authors
# 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.
#
# To generate expecations files in ./mb_config_expectations/, run the following
# from chromium/src directory:
#   ./tools/mb/mb.py train -f ./tools/mb/mb_config.pyl

{
  # Paths to gn_args_locations.json relative to the directory containing mb_config.pyl.
  # Such json files contain maps of
  # builder group -> builder ID -> file path of "gn-args.json" generated from starlark.
  'gn_args_locations_files': [
      '../../infra/config/generated/builders/gn_args_locations.json',
      '../../infra/config/generated/builders-dev/gn_args_locations.json',
      '../../internal/infra/config/generated/builders/gn_args_locations.json',
  ],

  # This is a map of builder group names -> builder names -> config names
  # (where each config name is a key in the 'configs' dict, below). MB uses
  # this dict to look up which config to use for a given bot.
  'builder_groups': {
    'chrome': {
      'lacros-amd64-generic-chrome': 'chromeos_amd64-generic_lacros_official_skylab_reclient',
      'lacros-arm-generic-chrome': 'chromeos_arm-generic_lacros_official_skylab_reclient',
      'lacros-arm64-generic-chrome': 'chromeos_arm64-generic_lacros_official_skylab_reclient',
      # Don't include unwind tables for linux-/mac-/win-/win64-chrome builders.
      # They monitor binary size growth, which may be affected by the tables.
      'linux-chrome': 'official_reclient',
      'linux-lacros-chrome': 'official_reclient_lacros_include_unwind_tables',
      'mac-chrome': 'official_reclient_mac',
      'win-branded-rel': 'chrome_branded_reclient_minimal_symbols',
      'win-chrome': 'official_reclient_x86',
      'win64-chrome': 'official_reclient_x64',
    },

    'chrome.gpu.fyi': {
      'ChromeOS FYI Release Skylab (jacuzzi)': 'gpu_tests_chromeos_jacuzzi_release_trybot_dcheck_off_no_symbols_reclient_skylab',
      'Lacros FYI Release (jacuzzi)': 'gpu_fyi_tests_lacros_jacuzzi_release_trybot_dcheck_off_no_symbols_reclient',
      'Lacros FYI Release (octopus)': 'gpu_fyi_tests_lacros_octopus_release_trybot_dcheck_off_no_symbols_reclient',
    },

    'chrome.pgo': {
      'android-arm32-pgo': 'official_android_arm32_pgo',
      'android-arm64-pgo': 'official_android_arm64_pgo',
      'linux-pgo': 'official_linux_pgo',
      'mac-arm-pgo': 'official_mac_arm_pgo_with_symbols',
      'mac-pgo': 'official_mac_pgo_with_symbols',
      'win-arm64-pgo': 'official_win_arm64_pgo',
      'win32-pgo': 'official_x86_pgo',
      'win64-pgo': 'official_x64_pgo',
    },

    'chromium.chromiumos': {
      # This builder builds against multiple branches, so it can't use GN args
      # in starlark because the args.gn file will be deleted on branches where
      # projects are setup.
      'linux-ash-chromium-generator-rel': 'chromeos_with_codecs_release_bot_reclient',
    },

    'chromium.clang': {
      'ToTLinuxOfficial': 'clang_tot_official',
      'ToTMacOfficial': 'mac_clang_tot_official',
      'ToTWinOfficial': 'clang_tot_win_official_full_symbols_static_x86',
      'ToTWinOfficial64': 'clang_tot_win_official_full_symbols_static',
    },

    'chromium.infra.codesearch': {
      'codesearch-gen-chromium-android': 'codesearch_gen_chromium_android_bot_reclient',
      'codesearch-gen-chromium-chromiumos': 'codesearch_gen_chromium_chromiumos_bot_reclient',
      'codesearch-gen-chromium-cronet': 'codesearch_gen_chromium_cronet_bot_reclient',
      'codesearch-gen-chromium-fuchsia': 'codesearch_gen_chromium_fuchsia_bot_reclient',
      'codesearch-gen-chromium-ios': 'codesearch_gen_chromium_ios_bot_reclient',
      'codesearch-gen-chromium-lacros': 'codesearch_gen_chromium_lacros_bot_reclient',
      'codesearch-gen-chromium-linux': 'codesearch_gen_chromium_bot_reclient',
      'codesearch-gen-chromium-mac': 'codesearch_gen_chromium_mac_bot_reclient',
      'codesearch-gen-chromium-webview': 'codesearch_gen_chromium_android_bot_reclient',
      'codesearch-gen-chromium-win': 'codesearch_gen_chromium_bot_reclient',
    },

    'chromium.perf': {
      'Android Builder Perf': 'official_reclient_minimal_symbols_android',
      'Android arm64 Builder Perf': 'official_minimal_symbols_android_arm64',
      'android-builder-perf': 'official_reclient_minimal_symbols_android',
      'android-builder-perf-pgo': 'official_reclient_minimal_symbols_android_pgo',
      'android_arm64-builder-perf': 'official_minimal_symbols_android_arm64',
      'android_arm64-builder-perf-pgo': 'official_reclient_minimal_symbols_android_arm64_pgo',
      'android_arm64_high_end-builder-perf': 'official_reclient_minimal_symbols_android_arm64_high_end',
      'android_arm64_high_end-builder-perf-pgo': 'official_reclient_minimal_symbols_android_arm64_high_end_pgo',
      'chromecast-linux-builder-perf': 'cast_binary_size_reclient',
      'chromeos-amd64-generic-lacros-builder-perf': 'chromeos_amd64-generic_lacros_official_reclient',
      'chromeos-arm-generic-lacros-builder-perf': 'chromeos_arm-generic_lacros_official_reclient',
      'chromeos-arm64-generic-lacros-builder-perf': 'chromeos_arm64-generic_lacros_official_reclient',
      'linux-builder-perf': 'official_linux_perf',
      'linux-builder-perf-pgo': 'official_reclient_linux_perf_pgo',
      'linux-builder-perf-rel': 'official_linux_perf',
      'mac-arm-builder-perf': 'official_reclient_mac_arm_perf',
      'mac-arm-builder-perf-pgo': 'official_reclient_mac_arm_perf_pgo',
      'mac-arm-no-brp-builder-perf': 'official_reclient_mac_arm_no_brp_perf',
      'mac-builder-perf': 'official_reclient_mac_perf',
      'mac-builder-perf-pgo': 'official_reclient_mac_perf_pgo',
      'win64-builder-perf': 'official_reclient_perf_win_cross',
      'win64-builder-perf-pgo': 'official_reclient_perf_pgo',
    },

    'chromium.perf.calibration': {
      'linux-perf-calibration': 'official_linux_perf',
    },

    'chromium.perf.fyi': {
      'android-cfi-builder-perf-fyi': 'official_reclient_minimal_symbols_android_thin_lto_opt',
      'android_arm64-cfi-builder-perf-fyi': 'official_reclient_minimal_symbols_android_thin_lto_opt_arm64',
      'chromeos-kevin-builder-perf-fyi': 'chromeos_kevin_include_unwind_tables_official_reclient',
      'fuchsia-builder-perf-arm64': 'official_reclient_fuchsia_arm64_perf',
    },

    'chromium.perf.pinpoint': {
      'Android Builder Perf': 'official_reclient_minimal_symbols_android',
      'Android arm64 Builder Perf': 'official_minimal_symbols_android_arm64',
      'android-builder-perf': 'official_reclient_minimal_symbols_android',
      'android-builder-perf-pgo': 'official_reclient_minimal_symbols_android_pgo',
      'android_arm64-builder-perf': 'official_minimal_symbols_android_arm64',
      'android_arm64-builder-perf-pgo': 'official_reclient_minimal_symbols_android_arm64_pgo',
      'android_arm64_high_end-builder-perf': 'official_reclient_minimal_symbols_android_arm64_high_end',
      'android_arm64_high_end-builder-perf-pgo': 'official_reclient_minimal_symbols_android_arm64_high_end_pgo',
      'chromecast-linux-builder-perf': 'cast_binary_size_reclient',
      'chromeos-amd64-generic-lacros-builder-perf': 'chromeos_amd64-generic_lacros_official_reclient',
      'chromeos-arm-generic-lacros-builder-perf': 'chromeos_arm-generic_lacros_official_reclient',
      'chromeos-arm64-generic-lacros-builder-perf': 'chromeos_arm64-generic_lacros_official_reclient',
      'linux-builder-perf': 'official_linux_perf',
      'linux-builder-perf-pgo': 'official_reclient_linux_perf_pgo',
      'linux-builder-perf-rel': 'official_linux_perf',
      'mac-arm-builder-perf': 'official_reclient_mac_arm_perf',
      'mac-arm-builder-perf-pgo': 'official_reclient_mac_arm_perf_pgo',
      'mac-builder-perf': 'official_reclient_mac_perf',
      'mac-builder-perf-pgo': 'official_reclient_mac_perf_pgo',
      'win64-builder-perf': 'official_reclient_perf_win_cross',
      'win64-builder-perf-pgo': 'official_reclient_perf_pgo',
    },

    'client.devtools-frontend.integration': {
      'DevTools Linux': 'release_trybot_blink_do_typecheck',
      'DevTools Linux Fastbuild': 'release_trybot_blink',
    },

    'client.openscreen.chromium': {
      'chromium_linux_x64': 'debug_bot_reclient',
      'chromium_mac_x64': 'debug_bot_reclient',
      'chromium_win_x64': 'debug_bot_reclient',
    },

    'client.v8.chromium': {
      'Linux - Future': 'v8_future_release_bot_reclient',
      'Linux - Future (dbg)': 'v8_future_debug_bot_reclient',
      'Linux V8 API Stability': 'release_bot_reclient',
    },

    'client.v8.fyi': {
      'Android V8 FYI Release (Nexus 5X)': 'gpu_tests_android_release_trybot_arm64_reclient',
      'Linux ASAN Builder': 'asan_lsan_release_trybot_reclient',
      'Linux Debug Builder': 'debug_bot_blink',
      'Linux V8 FYI Release (NVIDIA)': 'gpu_tests_release_trybot_minimal_symbols_reclient',
      'Linux V8 FYI Release - pointer compression (NVIDIA)': 'gpu_tests_release_trybot_ptr_comp_reclient',
      'Mac V8 FYI Release (Intel)': 'gpu_tests_release_trybot_minimal_symbols_reclient',
      'V8 Android GN (dbg)': 'android_debug_bot_reclient',
      'V8 Blink Linux': 'release_bot_blink',
      'V8 Blink Linux Debug': 'release_bot_blink_v8_debug_reclient',
      'V8 Blink Linux Future': 'release_bot_blink',
      'V8 Blink Mac': 'release_bot_blink',
      'V8 Blink Win': 'release_bot_blink',
      'V8 Linux GN': 'release_bot_reclient',
      'Win V8 FYI Release (NVIDIA)': 'gpu_tests_release_trybot_minimal_symbol_x86_resource_allowlisting_reclient',
    },

    'internal.chrome.fyi': {
      'android-buildspeed-dbg': 'android_debug_bot_reclient_fastbuild',
      'android-emulator-finch-smoke-chrome': 'android_release_bot_minimal_symbols_x86_fastbuild_webview_trichrome_reclient',
      'chromeos-arm-generic-cfi-thin-lto-chrome-reclient': 'chromeos_arm-generic_cfi_thin_lto_official_reclient',
      'lacros-arm-generic-chrome-fyi-reclient': 'chromeos_arm-generic_lacros_official_skylab_reclient',
      'linux-finch-smoke-chrome': 'official_reclient',
      'lorenz-graph-dbg': 'android_debug_bot_reclient_external_fastbuild',
      'mac-arm64-finch-smoke-chrome': 'official_reclient_mac_arm',
      'win-celab-rel': 'official_celab_release_bot',
      'win-finch-smoke-chrome': 'official_reclient',
    },

    'internal.optimization_guide': {
      # Linux and win64 CI bots use official builds to catch official-specific ODML bugs. These
      # take significantly longer to compile, and thus are only for these two builders.
      'optimization_guide-android-arm64': 'optimization_guide_android_arm64_rel',
      'optimization_guide-chromeos': 'optimization_guide_cros_rel',
      'optimization_guide-mac-arm64': 'optimization_guide_mac_arm64_rel',
      'optimization_guide-mac-x64': 'optimization_guide_rel',
      'optimization_guide-win-arm64': 'optimization_guide_win_arm64_rel',
      'optimization_guide-win32': 'optimization_guide_x86_rel',
      'optimization_guide_official-linux': 'optimization_guide_official_rel',
      'optimization_guide_official-win64': 'optimization_guide_official_rel',
    },

    # Internal codesearch builders.
    'luci.infra-internal.codesearch': {
      'codesearch-gen-chrome-internal-android': 'codesearch_gen_chrome_android_bot_reclient',
      'codesearch-gen-chrome-internal-linux': 'codesearch_gen_chrome_bot_reclient',
    },

    'official.chrome': {
      'fuchsia-arm64': 'official_fuchsia_arm64',
      'fuchsia-x64': 'official_fuchsia_x64',
    },

    'tryserver.chrome': {
      'lacros-amd64-generic-chrome': 'chromeos_amd64-generic_lacros_official_skylab',
      'lacros-arm-generic-chrome': 'chromeos_arm-generic_lacros_official_skylab',
      'lacros-arm64-generic-chrome': 'chromeos_arm64-generic_lacros_official_skylab',
      'linux-chrome': 'official_reclient',
      'linux-finch-smoke-chrome': 'official_reclient',
      'linux-lacros-chrome': 'official_reclient_lacros_include_unwind_tables',
      'mac-arm64-finch-smoke-chrome': 'official_reclient_mac_arm',
      'mac-chrome': 'official_reclient_mac',
      'win-branded-compile-rel': 'chrome_branded_reclient_minimal_symbols',
      'win-celab-try-rel': 'official_celab_release_bot',
      'win-chrome': 'official_reclient_x86',
      'win-finch-smoke-chrome': 'official_reclient',
      'win64-chrome': 'official_reclient_x64',
    },

    'tryserver.chrome.gpu': {
      'gpu-fyi-try-chromeos-skylab-jacuzzi': 'gpu_tests_chromeos_jacuzzi_release_trybot_dcheck_off_no_symbols_reclient_skylab',
    },

    'tryserver.chrome.pgo': {
      'android-arm32-pgo': 'official_android_arm32_pgo',
      'android-arm64-pgo': 'official_android_arm64_pgo',
      'linux-pgo': 'official_linux_pgo_with_symbols',
      'mac-arm-pgo': 'official_mac_arm_pgo_with_symbols',
      'mac-pgo': 'official_mac_pgo_with_symbols',
      'win-arm64-pgo': 'official_win_arm64_pgo_with_symbols',
      'win32-pgo': 'official_x86_pgo_with_symbols',
      'win64-pgo': 'official_x64_pgo_with_symbols',
    },

    'tryserver.chromium.perf': {
      'Android arm64 Compile Perf': 'official_minimal_symbols_android_arm64',
      'Linux Builder Perf': 'official_linux_perf',
    },

    'tryserver.devtools-frontend': {
      # Align devtools blink builders with chromium linux-rel
      'devtools_frontend_linux_blink_light_rel': 'release_trybot_blink_do_typecheck',
      'devtools_frontend_linux_blink_light_rel_fastbuild': 'release_trybot_blink',
      'devtools_frontend_linux_blink_rel': 'release_trybot_blink_do_typecheck',
    },

    'tryserver.internal.chrome.fyi': {
      'android-emulator-finch-smoke-chrome': 'android_release_bot_minimal_symbols_x86_fastbuild_webview_trichrome_reclient',
      'linux-finch-smoke-chrome': 'official_reclient',
      'mac-arm64-finch-smoke-chrome': 'official_reclient_mac_arm',
      'win-finch-smoke-chrome': 'official_reclient',
    },

    'tryserver.internal.optimization_guide': {
      'model_validation-linux': 'optimization_guide_rel',
      'model_validation-mac-arm64': 'optimization_guide_rel',
      'model_validation-mac-x64': 'optimization_guide_rel',
      'model_validation-win32': 'optimization_guide_x86_rel',
      'model_validation-win64': 'optimization_guide_rel',
      'optimization_guide-android-arm64': 'optimization_guide_android_arm64_rel',
      'optimization_guide-chromeos': 'optimization_guide_cros_rel',
      'optimization_guide-linux': 'optimization_guide_rel',
      'optimization_guide-mac-arm64': 'optimization_guide_mac_arm64_rel',
      'optimization_guide-mac-x64': 'optimization_guide_rel',
      'optimization_guide-win-arm64': 'optimization_guide_win_arm64_rel',
      'optimization_guide-win32': 'optimization_guide_x86_rel',
      'optimization_guide-win64': 'optimization_guide_rel',
      'optimization_guide_official-linux': 'optimization_guide_official_rel',
      'optimization_guide_official-win64': 'optimization_guide_official_rel',
    },

    'tryserver.v8': {
      'v8_linux_blink_rel': 'release_trybot_blink',
      'v8_linux_chromium_gn_rel': 'release_trybot_reclient',
    },

    'tryserver.webrtc': {
      'android_chromium_compile': 'android_release_trybot_reclient',
      'linux_chromium_compile': 'release_trybot_reclient',
      'linux_chromium_compile_dbg': 'debug_bot_reclient',
      'mac_chromium_compile': 'gpu_tests_release_trybot_reclient',
      'webrtc_linux_chromium': 'release_trybot_blink',
      'win_chromium_compile': 'gpu_tests_release_trybot_resource_allowlisting_reclient',
      'win_chromium_compile_dbg': 'gpu_tests_debug_bot_x86_no_symbols_reclient',
    },
  },


  # This is the list of configs that you can pass to mb; each config
  # represents a particular combination of gn args that
  # we must support. A given config *may* be platform-specific but
  # is not necessarily so.
  'configs': {
    'android_debug_bot_reclient': [
      'android', 'debug_bot_reclient',
    ],

    'android_debug_bot_reclient_external_fastbuild': [
      'android', 'debug_bot_reclient', 'android_external', 'android_fastbuild',
    ],

    'android_debug_bot_reclient_fastbuild': [
      'android', 'debug_bot_reclient', 'android_fastbuild',
    ],

    'android_release_bot_minimal_symbols_x86_fastbuild_webview_trichrome_reclient': [
      'android', 'release_bot_reclient', 'minimal_symbols', 'x86',
      'strip_debug_info', 'android_fastbuild', 'webview_trichrome',
      'webview_shell',
    ],

    'android_release_trybot_reclient': [
      'android', 'release_trybot_reclient', 'strip_debug_info',
    ],

    'asan_lsan_release_trybot_reclient': [
      'asan', 'lsan', 'release_trybot_minimal_symbols_reclient',
    ],

    'cast_binary_size_reclient': [
      'cast_receiver', 'cast_os', 'minimal_symbols', 'release_bot_reclient',
    ],

    'chrome_branded_reclient_minimal_symbols': [
      'chrome_branded', 'minimal_symbols', 'release_bot_reclient',
    ],

    'chromeos_amd64-generic_lacros_official_reclient': [
      'chromeos_amd64-generic-crostoolchain_reclient', 'lacros', 'official', 'minimal_symbols', 'cfi', 'thin_lto',
    ],

    # This is the same as 'chromeos_amd64-generic_lacros_official', except for
    # the 'is_skylab' arg. Please keep them in sync.
    'chromeos_amd64-generic_lacros_official_skylab': [
      'chromeos_amd64-generic-crostoolchain', 'lacros', 'official', 'minimal_symbols', 'cfi', 'thin_lto', 'is_skylab',
    ],
    'chromeos_amd64-generic_lacros_official_skylab_reclient': [
      'chromeos_amd64-generic-crostoolchain_reclient', 'lacros', 'official', 'minimal_symbols', 'cfi', 'thin_lto', 'is_skylab',
    ],

    'chromeos_arm-generic_cfi_thin_lto_official_reclient': [
      'chromeos_device_reclient', 'arm-generic', 'cfi_full', 'thin_lto', 'official', 'full_symbols', 'ozone_headless'
    ],

    'chromeos_arm-generic_lacros_official_reclient': [
      'chromeos_arm-generic-crostoolchain_reclient', 'lacros', 'official', 'minimal_symbols', 'cfi', 'thin_lto',
    ],

    'chromeos_arm-generic_lacros_official_skylab': [
      'chromeos_arm-generic-crostoolchain', 'lacros', 'official', 'minimal_symbols', 'cfi', 'thin_lto', 'is_skylab',
    ],
    'chromeos_arm-generic_lacros_official_skylab_reclient': [
      'chromeos_arm-generic-crostoolchain_reclient', 'lacros', 'official', 'minimal_symbols', 'cfi', 'thin_lto', 'is_skylab',
    ],

    'chromeos_arm64-generic_lacros_official_reclient': [
      'chromeos_arm64-generic-crostoolchain_reclient', 'lacros', 'official', 'minimal_symbols', 'cfi', 'thin_lto',
    ],

    'chromeos_arm64-generic_lacros_official_skylab': [
      'chromeos_arm64-generic-crostoolchain', 'lacros', 'official', 'minimal_symbols', 'cfi', 'thin_lto', 'is_skylab',
    ],
    'chromeos_arm64-generic_lacros_official_skylab_reclient': [
      'chromeos_arm64-generic-crostoolchain_reclient', 'lacros', 'official', 'minimal_symbols', 'cfi', 'thin_lto', 'is_skylab',
    ],

    'chromeos_kevin_include_unwind_tables_official_reclient': [
      'chromeos_kevin_reclient', 'include_unwind_tables', 'official',
    ],

    'chromeos_with_codecs_release_bot_reclient': [
      'chromeos_with_codecs', 'release_bot_reclient', 'use_cups',
    ],

    'clang_tot_official': [
      'clang_tot', 'official',
    ],

    'clang_tot_win_official_full_symbols_static': [
      'clang_tot', 'official', 'full_symbols', 'static', 'win_linker_timing',
    ],

    'clang_tot_win_official_full_symbols_static_x86': [
      'clang_tot', 'official', 'full_symbols', 'static', 'x86', 'win_linker_timing',
    ],

    'codesearch_gen_chrome_android_bot_reclient': [
      'codesearch_reclient', 'android_without_codecs', 'static', 'chrome_branded',
    ],

    'codesearch_gen_chrome_bot_reclient': [
      'codesearch_reclient', 'chrome_branded',
    ],

    'codesearch_gen_chromium_android_bot_reclient': [
      'codesearch_reclient', 'android_without_codecs', 'static',
    ],

    'codesearch_gen_chromium_bot_reclient': [
      'codesearch_reclient',
    ],

    'codesearch_gen_chromium_chromiumos_bot_reclient': [
      'codesearch_reclient', 'chromeos', 'use_cups',
    ],

    'codesearch_gen_chromium_cronet_bot_reclient': [
      # Set is_cronet_build to true in order to build cronet.
      'codesearch_cronet_reclient', 'android_without_codecs', 'static', 'is_cronet_build',
      'cronet_android', 'arm_no_neon',
    ],

    'codesearch_gen_chromium_fuchsia_bot_reclient': [
      'codesearch_release_reclient', 'fuchsia', 'cast_receiver',
    ],

    'codesearch_gen_chromium_ios_bot_reclient': [
      'codesearch_ios_reclient', 'ios', 'ios_disable_code_signing'
    ],

    # Lacros uses different gn args to build for chromeOS device vs. Linux. For
    # simplicity, we only generate codesearch x-refs for lacros on Linux.
    'codesearch_gen_chromium_lacros_bot_reclient': [
      'codesearch_reclient', 'lacros_on_linux', 'use_cups',
    ],

    'codesearch_gen_chromium_mac_bot_reclient': [
      'codesearch_reclient', 'mac',
    ],

    'debug_bot_blink': [
      'debug_bot_blink',
    ],

    'debug_bot_reclient': [
      'debug_bot_reclient',
    ],

    'gpu_fyi_tests_lacros_jacuzzi_release_trybot_dcheck_off_no_symbols_reclient': [
      'chromeos', 'jacuzzi', 'official', 'release_bot_reclient', 'no_symbols',
      'chromeos_device_reclient', 'also_build_lacros_chrome_for_architecture_arm64',
    ],

    'gpu_fyi_tests_lacros_octopus_release_trybot_dcheck_off_no_symbols_reclient': [
      'chromeos', 'octopus', 'official', 'release_bot_reclient', 'no_symbols',
      'chromeos_device_reclient', 'also_build_lacros_chrome_for_architecture_amd64',
    ],

    'gpu_tests_android_release_trybot_arm64_reclient': [
      'gpu_tests', 'android', 'release_trybot_minimal_symbols_reclient', 'arm64', 'static_angle',
    ],

    'gpu_tests_chromeos_jacuzzi_release_trybot_dcheck_off_no_symbols_reclient_skylab': [
      'gpu_tests', 'chromeos_jacuzzi_reclient', 'release_trybot_dcheck_off_reclient', 'no_symbols', 'is_skylab',
    ],

    'gpu_tests_debug_bot_x86_no_symbols_reclient': [
      'gpu_tests', 'debug_bot_reclient', 'x86', 'no_symbols'
    ],

    'gpu_tests_release_trybot_minimal_symbol_x86_resource_allowlisting_reclient': [
      'gpu_tests', 'release_trybot_minimal_symbols_reclient', 'x86', 'resource_allowlisting',
    ],

    'gpu_tests_release_trybot_minimal_symbols_reclient': [
      'gpu_tests', 'release_trybot_minimal_symbols_reclient',
    ],

    'gpu_tests_release_trybot_ptr_comp_reclient': [
      'gpu_tests', 'release_trybot_minimal_symbols_reclient', 'v8_pointer_compression',
    ],

    'gpu_tests_release_trybot_reclient': [
      'gpu_tests', 'release_trybot_reclient',
    ],

    'gpu_tests_release_trybot_resource_allowlisting_reclient': [
      'gpu_tests', 'release_trybot_reclient', 'resource_allowlisting',
    ],

    'mac_clang_tot_official': [
      'clang_tot', 'official', 'no_widevine_cdm_host_verification', 'x64', 'mac'
    ],

    'official_android_arm32_pgo': [
      'official', 'reclient', 'android', 'arm', 'minimal_symbols', 'no_default_afdo', 'pgo_phase_1', 'stable_version_code',
    ],

    'official_android_arm64_pgo': [
      'official', 'reclient', 'android', 'arm64', 'minimal_symbols', 'no_default_afdo', 'pgo_phase_1', 'stable_version_code',
    ],

    'official_celab_release_bot': [
      'official', 'release_bot_reclient', 'minimal_symbols',
    ],

    'official_fuchsia_arm64': [
      'arm64', 'fuchsia', 'official', 'custom_args', 'arm64_host',
    ],

    'official_fuchsia_x64': [
      'fuchsia', 'official', 'x64', 'custom_args',
    ],

    'official_linux_perf': [
      'official', 'reclient', 'no_gnome_keyring', 'minimal_symbols', 'pgo_phase_0',
    ],

    'official_linux_pgo': [
      'official', 'reclient', 'no_symbols', 'pgo_phase_1', 'release'
    ],

    'official_linux_pgo_with_symbols': [
      'official', 'reclient', 'minimal_symbols', 'pgo_phase_1', 'release'
    ],

    'official_mac_arm_pgo_with_symbols': [
      'official', 'reclient', 'no_widevine_cdm_host_verification', 'arm64', 'disable_widevine_signing', 'minimal_symbols', 'pgo_phase_1', 'release', 'disable_stripping'
    ],

    'official_mac_pgo_with_symbols': [
      'official', 'reclient', 'no_widevine_cdm_host_verification', 'x64', 'disable_widevine_signing', 'minimal_symbols', 'pgo_phase_1', 'release', 'disable_stripping'
    ],

    'official_minimal_symbols_android_arm64': [
      'official', 'reclient', 'minimal_symbols', 'android', 'arm64', 'pgo_phase_0', 'no_default_afdo', 'android_low_end',
    ],

    'official_reclient': [
      'official', 'reclient',
    ],

    'official_reclient_fuchsia_arm64_perf': [
      'cast_receiver_size_optimized_internal', 'official', 'reclient', 'minimal_symbols', 'fuchsia', 'fuchsia_include_sd_images', 'arm64', 'ffmpeg_branding_chrome', 'proprietary_codecs', 'test_isolate_no_emulator',
    ],

    'official_reclient_lacros_include_unwind_tables': [
      'official', 'reclient', 'lacros', 'minimal_symbols', 'include_unwind_tables',
      'also_build_ash_chrome',
    ],

    'official_reclient_linux_perf_pgo': [
      'official', 'reclient', 'no_gnome_keyring', 'minimal_symbols',
    ],

    'official_reclient_mac': [
      'official', 'reclient', 'no_widevine_cdm_host_verification',
    ],

    'official_reclient_mac_arm': [
      'official', 'reclient', 'no_widevine_cdm_host_verification', 'arm64',
    ],

    'official_reclient_mac_arm_no_brp_perf': [
      'official', 'reclient', 'no_keystone_registration_framework', 'no_widevine_cdm_host_verification', 'minimal_symbols', 'arm64', 'pgo_phase_0', 'no_brp',
    ],

    'official_reclient_mac_arm_perf': [
      'official', 'reclient', 'no_keystone_registration_framework', 'no_widevine_cdm_host_verification', 'minimal_symbols', 'arm64', 'pgo_phase_0',
    ],

    'official_reclient_mac_arm_perf_pgo': [
      'official', 'reclient', 'no_keystone_registration_framework', 'no_widevine_cdm_host_verification', 'minimal_symbols', 'arm64',
    ],

    'official_reclient_mac_perf': [
      'official', 'reclient', 'no_keystone_registration_framework', 'no_widevine_cdm_host_verification', 'minimal_symbols', 'pgo_phase_0',
    ],

    'official_reclient_mac_perf_pgo': [
      'official', 'reclient', 'no_keystone_registration_framework', 'no_widevine_cdm_host_verification', 'minimal_symbols',
    ],

    'official_reclient_minimal_symbols_android': [
      'official', 'reclient', 'minimal_symbols', 'android', 'pgo_phase_0', 'no_default_afdo'
    ],

    'official_reclient_minimal_symbols_android_arm64_high_end': [
      'official', 'reclient', 'minimal_symbols', 'android', 'arm64', 'pgo_phase_0', 'no_default_afdo',
    ],

    'official_reclient_minimal_symbols_android_arm64_high_end_pgo': [
      'official', 'reclient', 'minimal_symbols', 'android', 'arm64', 'no_default_afdo',
    ],

    'official_reclient_minimal_symbols_android_arm64_pgo': [
      'official', 'reclient', 'minimal_symbols', 'android', 'arm64', 'android_low_end',
    ],

    'official_reclient_minimal_symbols_android_pgo': [
      'official', 'reclient', 'minimal_symbols', 'android'
    ],

    'official_reclient_minimal_symbols_android_thin_lto_opt': [
      'official', 'reclient', 'minimal_symbols', 'android', 'thin_lto_opt', 'no_default_afdo'
    ],

    'official_reclient_minimal_symbols_android_thin_lto_opt_arm64': [
      'official', 'reclient', 'minimal_symbols', 'android', 'thin_lto_opt', 'arm64', 'no_default_afdo'
    ],

    'official_reclient_perf_pgo': [
      'official', 'reclient', 'minimal_symbols',
    ],

    'official_reclient_perf_win_cross': [
      'official', 'reclient_win_cross', 'minimal_symbols', 'pgo_phase_0',
    ],

    'official_reclient_x64': [
      'official', 'reclient', 'x64',
    ],

    'official_reclient_x86': [
      'official', 'reclient', 'x86',
    ],

    'official_win_arm64_pgo': [
      'official', 'reclient', 'arm64', 'no_symbols', 'pgo_phase_1', 'release'
    ],

    'official_win_arm64_pgo_with_symbols': [
      'official', 'reclient', 'arm64', 'minimal_symbols', 'pgo_phase_1', 'release'
    ],

    'official_x64_pgo': [
      'official', 'reclient', 'x64', 'no_symbols', 'pgo_phase_1', 'release'
    ],

    'official_x64_pgo_with_symbols': [
      'official', 'reclient', 'x64', 'minimal_symbols', 'pgo_phase_1', 'release'
    ],


    'official_x86_pgo': [
      'official', 'reclient', 'x86', 'no_symbols', 'pgo_phase_1', 'release'
    ],

    'official_x86_pgo_with_symbols': [
      'official', 'reclient', 'x86', 'minimal_symbols', 'pgo_phase_1', 'release'
    ],


    'optimization_guide_android_arm64_rel': [
      'minimal_symbols', 'reclient', 'release', 'android', 'arm64',
    ],

    'optimization_guide_cros_rel': [
      'minimal_symbols', 'optimization_guide', 'reclient', 'release', 'chromeos',
    ],

    'optimization_guide_mac_arm64_rel': [
      'chrome_branded', 'minimal_symbols', 'ml_internal', 'optimization_guide', 'reclient', 'release', 'arm64',
    ],

    'optimization_guide_official_rel': [
      'minimal_symbols', 'ml_internal', 'no_widevine_cdm_host_verification', 'official', 'optimization_guide', 'pgo_phase_0', 'reclient', 'release',
    ],

    'optimization_guide_rel': [
      'chrome_branded', 'minimal_symbols', 'ml_internal', 'optimization_guide', 'reclient', 'release',
    ],

    'optimization_guide_win_arm64_rel': [
      'chrome_branded', 'minimal_symbols', 'ml_internal', 'optimization_guide', 'reclient', 'release', 'x86', 'arm64'
    ],

    'optimization_guide_x86_rel': [
      'chrome_branded', 'minimal_symbols', 'ml_internal', 'optimization_guide', 'reclient', 'release', 'x86',
    ],

    'release_bot_blink': [
      'release_bot_blink',
    ],

    'release_bot_blink_v8_debug_reclient': [
      'release_bot_blink', 'v8_enable_debugging_features',
    ],

    'release_bot_reclient': [
      'release_bot_reclient',
    ],

    'release_trybot_blink': [
      'release_trybot_blink',
    ],

    'release_trybot_blink_do_typecheck': [
      'release_trybot_blink', 'devtools_do_typecheck',
    ],

    'release_trybot_reclient': [
      'release_trybot_reclient',
    ],

    'v8_future_debug_bot_reclient': [
      'v8_future', 'debug_bot_reclient',
    ],

    'v8_future_release_bot_reclient': [
      'v8_future', 'release_bot_reclient',
    ],
  },

  # This is a dict mapping a given 'mixin' name to a dict of settings that
  # mb should use. See //tools/mb/docs/user_guide.md for more information.
  'mixins': {
    'also_build_ash_chrome': {
      'gn_args': 'also_build_ash_chrome=true'
    },

    'also_build_lacros_chrome_for_architecture_amd64': {
      'gn_args': 'also_build_lacros_chrome_for_architecture="amd64"',
    },

    'also_build_lacros_chrome_for_architecture_arm64': {
      'gn_args': 'also_build_lacros_chrome_for_architecture="arm64"',
    },

    'amd64-generic-crostoolchain': {
      'args_file': '//build/args/chromeos/amd64-generic-crostoolchain.gni',
    },

    # We build Android with codecs on most bots to ensure maximum test
    # coverage, but use 'android_without_codecs' on bots responsible for
    # building publicly advertised non-Official Android builds --
    # which are not allowed to have proprietary codecs enabled.
    'android': {
      'mixins': ['android_without_codecs', 'chrome_with_codecs'],
    },

    'android_external': {
      'gn_args': 'enable_chrome_android_internal=false',
    },

    # It's significantly faster to build without static analysis checks.
    'android_fastbuild': {
      'gn_args': 'android_static_analysis="off"',
    },

    'android_low_end': {
      'gn_args': 'is_high_end_android=false',
    },

    'android_without_codecs': {
      # Bots never have a use for android:debuggable="true". They do not use
      # JWDP (java debugger), and do not need it to access application files
      # since they always use userdebug OS builds (which have root access).
      # android:debuggable="true" causes ART to run more slowly, so tests run
      # faster without it. https://crbug.com/1276429
      'gn_args': 'target_os="android" debuggable_apks=false',
    },

    'arm': {
      'gn_args': 'target_cpu="arm"',
    },

    'arm-generic': {
      'args_file': '//build/args/chromeos/arm-generic.gni',
    },

    'arm-generic-crostoolchain': {
      'args_file': '//build/args/chromeos/arm-generic-crostoolchain.gni',
    },

    'arm64': {
      'gn_args': 'target_cpu="arm64"',
    },

    'arm64-generic-crostoolchain': {
      'args_file': '//build/args/chromeos/arm64-generic-crostoolchain.gni',
    },

    'arm64_host': {
      'gn_args': 'test_host_cpu="arm64"',
    },

    'arm_no_neon': {
      'mixins': ['arm'],
      'gn_args': 'arm_use_neon=false',
    },

    'asan': {
      'gn_args': 'is_asan=true',
    },

    'blink_enable_generated_code_formatting': {
      'gn_args': 'blink_enable_generated_code_formatting=true'
    },

    'cast_os': {
      'gn_args': 'is_castos=true'
    },

    'cast_receiver': {
      'gn_args': 'enable_cast_receiver=true'
    },

    'cast_receiver_size_optimized_internal': {
      'args_file': '//build/config/fuchsia/size_optimized_cast_receiver_args_internal.gn',
    },

    'cfi': {
      'gn_args': 'is_cfi=true',
    },

    'cfi_full': {
      'mixins': ['cfi'],
      'gn_args': 'use_cfi_cast=true',
    },

    'chrome_branded': {
      'gn_args': 'is_chrome_branded=true'
    },

    'chrome_with_codecs': {
      'mixins': ['ffmpeg_branding_chrome', 'proprietary_codecs'],
    },

    'chromeos': {
      'gn_args': 'target_os="chromeos"',
    },

    'chromeos_amd64-generic-crostoolchain': {
      'mixins': ['chromeos_device', 'amd64-generic-crostoolchain',]
    },

    'chromeos_amd64-generic-crostoolchain_reclient': {
      'mixins': ['chromeos_device_reclient', 'amd64-generic-crostoolchain', 'ozone_headless']
    },

    'chromeos_arm-generic-crostoolchain': {
      'mixins': ['chromeos_device', 'arm-generic-crostoolchain',]
    },

    'chromeos_arm-generic-crostoolchain_reclient': {
      'mixins': ['chromeos_device_reclient', 'arm-generic-crostoolchain', 'ozone_headless']
    },

    'chromeos_arm64-generic-crostoolchain': {
      'mixins': ['chromeos_device', 'arm64-generic-crostoolchain',]
    },

    'chromeos_arm64-generic-crostoolchain_reclient': {
      'mixins': ['chromeos_device_reclient', 'arm64-generic-crostoolchain', 'ozone_headless']
    },

    'chromeos_codecs': {
      'mixins': ['ffmpeg_branding_chromeos', 'proprietary_codecs'],
    },

    'chromeos_device': {
      'gn_args': 'is_chromeos_device=true ozone_platform_headless=true',
      'mixins': ['dcheck_off', 'reclient'],
    },

    'chromeos_device_reclient': {
      'gn_args': 'is_chromeos_device=true',
      'mixins': ['dcheck_off', 'reclient'],
    },

    'chromeos_jacuzzi_reclient': {
      'mixins': ['chromeos_device_reclient', 'jacuzzi', 'ozone_headless']
    },

    'chromeos_kevin_reclient': {
      'mixins': ['chromeos_device_reclient', 'kevin', 'ozone_headless']
    },

    'chromeos_with_codecs': {
      'mixins': ['chromeos', 'chromeos_codecs'],
    },

    'clang': {
      'gn_args': 'is_clang=true',
    },

    'clang_tot': {
      'gn_args': 'llvm_force_head_revision=true',
      'mixins': ['clang'],
    },

    # Same as regulary codesearch without blink_enable_generated_code_formatting
    'codesearch_cronet_reclient': {
      'gn_args': 'clang_use_chrome_plugins=false enable_kythe_annotations=true',
      'mixins': ['reclient', 'clang', 'shared', 'debug', 'minimal_symbols'],
    },

    # Same as regular codesearch except ios does not allow component builds
    'codesearch_ios_reclient': {
      'gn_args': 'clang_use_chrome_plugins=false enable_kythe_annotations=true',
      'mixins': ['reclient', 'clang', 'debug', 'minimal_symbols',
                 'blink_enable_generated_code_formatting'],
    },

    # Settings used by the codesearch builders to generate cross-references.
    'codesearch_reclient': {
      'gn_args': 'clang_use_chrome_plugins=false enable_kythe_annotations=true',
      'mixins': ['reclient', 'clang', 'shared', 'debug', 'minimal_symbols',
                 'blink_enable_generated_code_formatting'],
    },

    'codesearch_release_reclient': {
      'gn_args': 'clang_use_chrome_plugins=false enable_kythe_annotations=true',
      'mixins': ['release', 'static', 'reclient',
                 'blink_enable_generated_code_formatting'],
    },

    # Keep in sync with //infra/build/recipes/recipe_modules/chromium_android/chromium_config.py
    'cronet_android': {
      'mixins': ['cronet_common'],
      'gn_args': ('use_partition_alloc=false enable_reporting=true '
                  'use_hashed_jni_names=true '
                  'default_min_sdk_version=21 '
                  'enable_base_tracing=false '
                  'clang_use_default_sample_profile=false '
                  'media_use_ffmpeg = false'
                  'use_thin_lto=false '  # https://crbug.com/1136963
                  'enable_resource_allowlist_generation=false '),
    },

    # Keep in sync with //infra/build/recipes/recipe_modules/chromium_android/chromium_config.py
    'cronet_common': {
      'gn_args': ('disable_file_support=true '
                  'enable_websockets=false '
                  'include_transport_security_state_preload_list=false '
                  'is_cronet_build=true '
                  'use_platform_icu_alternatives=true ')
    },

    'custom_args': {
      'args_file': '//build/custom_args.gn',
    },

    'dcheck_always_on': {
      'gn_args': 'dcheck_always_on=true',
    },

    'dcheck_off': {
      'gn_args': 'dcheck_always_on=false',
    },

    'debug': {
      'gn_args': 'is_debug=true',
    },

    'debug_bot_blink': {
      'mixins': ['debug', 'shared', 'reclient', 'minimal_symbols', 'chrome_with_codecs'],
    },

    'debug_bot_reclient': {
      'mixins': ['debug', 'shared', 'reclient', 'minimal_symbols'],
    },

    # Representative GN args for developer builds.
    'devtools_do_typecheck': {
      'gn_args': 'devtools_skip_typecheck=false',
    },

    'disable_stripping': {
      'gn_args': 'enable_stripping=false',
    },

    'disable_widevine_signing': {
      'gn_args': 'enable_widevine_cdm_host_verification = false'
    },

    'ffmpeg_branding_chrome': {
      'gn_args': 'ffmpeg_branding="Chrome"',
    },

    'ffmpeg_branding_chromeos': {
      'gn_args': 'ffmpeg_branding="ChromeOS"',
    },

    'fuchsia': {
      'gn_args': 'target_os="fuchsia"',
    },

    'fuchsia_include_sd_images': {
      'gn_args': 'fuchsia_additional_boot_images=["//third_party/fuchsia-sdk/images-internal/astro-release/","//third_party/fuchsia-sdk/images-internal/sherlock-release/","//third_party/fuchsia-sdk/images-internal/nelson-release/"]',
    },

    'full_symbols': {
      'gn_args': 'symbol_level=2',
    },

    'gpu_tests': {
      'mixins': ['chrome_with_codecs'],
    },

    'include_unwind_tables': {
      'gn_args': 'exclude_unwind_tables=false',
    },

    'ios': {
      'gn_args': 'target_os="ios"',
    },

    'ios_disable_code_signing': {
      # defaults to true under ios_sdk.gni
      'gn_args': 'ios_enable_code_signing=false'
    },

    'is_cronet_build': {
      'gn_args': 'is_cronet_build=true',
    },

    'is_skylab': {
      'gn_args': 'is_skylab=true',
    },

    'jacuzzi': {
      'args_file': '//build/args/chromeos/jacuzzi.gni',
    },

    'kevin': {
      'args_file': '//build/args/chromeos/kevin.gni',
    },

    'lacros': {
      'gn_args': 'target_os="chromeos" chromeos_is_browser_only=true'
    },

    'lacros_on_linux': {
      'gn_args': 'target_os="chromeos" chromeos_is_browser_only=true'
    },

    'lsan': {
      'gn_args': 'is_lsan=true',
    },

    'mac': {
      'gn_args': 'target_os="mac"',
    },

    'minimal_symbols': {
      'gn_args': 'symbol_level=1',
    },

    'ml_internal': {
      'gn_args': 'enable_ml_internal=true',
    },

    'no_brp': {
      'gn_args': 'enable_backup_ref_ptr_support=false use_raw_ptr_backup_ref_impl=false',
    },

    'no_default_afdo': {
      'gn_args': 'clang_use_default_sample_profile=false',
    },

    'no_gnome_keyring': {
      'gn_args': 'use_gnome_keyring=false',
    },

    'no_keystone_registration_framework': {
      'gn_args': 'enable_keystone_registration_framework=false',
    },

    'no_symbols': {
      'gn_args': 'symbol_level=0',
    },

    'no_widevine_cdm_host_verification': {
      'gn_args': 'ignore_missing_widevine_signing_cert=true',
    },

    'octopus': {
      'args_file': '//build/args/chromeos/octopus.gni',
    },

    'official': {
      'mixins': ['official_optimize'],
      'gn_args': 'is_chrome_branded=true',
    },

    'official_optimize': {
      'gn_args': 'is_official_build=true',
    },

    'optimization_guide': {
        'gn_args': 'build_with_internal_optimization_guide=true'
    },

    'ozone_headless': {
      'gn_args': 'ozone_platform_headless=true',
    },

    'pgo_phase_0': {
      'mixins': ['strip_absolute_paths_from_debug_symbols'],
      'gn_args': 'chrome_pgo_phase=0'
    },

    'pgo_phase_1': {
      'mixins': ['v8_release_branch'],
      'gn_args': 'chrome_pgo_phase=1'
    },

    # Note: This is probably not what you want to use. Instead use one of the
    # chrome_with_codecs or chromeos_with_codecs mixins.
    'proprietary_codecs': {
      'gn_args': 'proprietary_codecs=true',
    },

    'reclient': {
      'gn_args': 'use_remoteexec=true',
    },

    # windows cross. crbug.com/1213717 crbug.com/1407983
    'reclient_win_cross': {
      'gn_args': 'use_remoteexec=true reclient_cfg_dir="//buildtools/reclient_cfgs/win-cross"',
    },

    # Historically, a 'release' bot had DCHECKs turned off. DCHECKs are now
    # enabled by default, but explicitly turning them off here preserves
    # backwards compatibility. TODO: We should probably come up with better
    # names like 'dcheck' vs. 'release' to make this clearer.
    'release': {
      'gn_args': 'is_debug=false dcheck_always_on=false',
    },

    # All bots that run the WPT test suite must have H.264 compiled in,
    # in order to give consistent results for WebRTC codec-dependent tests.
    'release_bot_blink': {
      'mixins': ['release', 'static', 'reclient', 'chrome_with_codecs'],
    },

    'release_bot_reclient': {
      'mixins': ['release', 'static', 'reclient'],
    },

    'release_trybot_blink': {
      'mixins': ['release_bot_blink', 'minimal_symbols', 'dcheck_always_on'],
    },

    'release_trybot_blink': {
      'mixins': ['release_bot_blink', 'minimal_symbols', 'dcheck_always_on'],
    },

    'release_trybot_dcheck_off_reclient': {
      'mixins': ['release_trybot_reclient', 'dcheck_off'],
    },

    'release_trybot_minimal_symbols_reclient': {
      'mixins': ['release_bot_reclient', 'minimal_symbols', 'dcheck_always_on'],
    },

    'release_trybot_reclient': {
      'mixins': ['release_bot_reclient', 'no_symbols', 'dcheck_always_on'],
    },

    'resource_allowlisting': {
      'gn_args': 'enable_resource_allowlist_generation=true',
    },

    'shared': {
      'gn_args': 'is_component_build=true',
    },

    # Ensures we don't have mulitple versions of Trichrome Library installed on
    # devices so as to not run out of disk space.
    'stable_version_code': {
      'gn_args': 'android_override_version_code="1234567980"',
    },

    'static': {
      'gn_args': 'is_component_build=false',
    },

    'static_angle': {
      'gn_args': 'use_static_angle=true',
    },

    'strip_absolute_paths_from_debug_symbols': {
      'gn_args': 'strip_absolute_paths_from_debug_symbols=true'
    },

    'strip_debug_info': {
      'gn_args': 'strip_debug_info=true',
    },

    'test_isolate_no_emulator': {
      'gn_args': 'test_isolate_uses_emulator=false',
    },

    'thin_lto': {
      'gn_args': 'use_thin_lto=true',
    },

    'thin_lto_opt': {
      'gn_args': 'use_thin_lto=true thin_lto_enable_optimizations=true',
    },

    'use_cups': {
      'gn_args': 'use_cups=true',
    },

    'v8_enable_debugging_features': {
      'gn_args': 'v8_enable_debugging_features=true',
    },

    'v8_future': {
      'gn_args': 'v8_enable_future=true',
    },

    'v8_pointer_compression': {
      # TODO(machenbach): Temporarily toggle pointer-compression off while it
      # is on by default.
      'gn_args': 'v8_enable_pointer_compression=false',
    },

    'v8_release_branch': {
      # V8 flag that disables v8_enable_runtime_call_stats on release branches.
      'gn_args': 'v8_is_on_release_branch=true',
    },

    # Mainly used by builders that use android emulator.
    # See https://bit.ly/3B1cyyt for more details.
    'webview_shell': {
      'gn_args': 'system_webview_shell_package_name = "org.chromium.my_webview_shell"',
    },

    # For Android >=Q, only userdebug/eng
    'webview_trichrome': {
      'gn_args': 'system_webview_package_name="com.google.android.webview.debug"',
    },

    'win_linker_timing': {
      'gn_args': 'win_linker_timing=true',
    },

    'x64': {
      'gn_args': 'target_cpu="x64"',
    },

    'x86': {
      'gn_args': 'target_cpu="x86"',
    },
  },
}