# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
#
# Use of this source code is governed by a BSD-style license
# that can be found in the LICENSE file in the root of the source
# tree. An additional intellectual property rights grant can be found
# in the file PATENTS.  All contributing project authors may
# be found in the AUTHORS file in the root of the source tree.

# FOR DETAILS ON THIS FILE SEE THE MAIN COPY IN //tools/mb/mb_config.pyl.
# This is configuration for standalone WebRTC bots. It is used to keep the bot
# configurations source-side instead of in the buildbot scripts. That makes it
# easy to try different configurations of GN args in tryjob patches.

{
  # This is a map of buildbot builder group names -> buildbot builder names ->
  # config names (where each config name is a key in the 'configs' dict,
  # above). mb uses this dict to look up which config to use for a given bot.
  # The builders should be sorted by the order they appear in the /builders
  # page on the buildbots, *not* alphabetically.
  'builder_groups': {
    # This is required because WebRTC mb.py overwrites the default configs
    # and Chromium's mb.py checks the default config contains 'chromium'.
    'chromium': {},
    'chromium.infra.codesearch': {
      'codesearch-gen-webrtc-android': {
        'android': 'android_debug_static_bot_arm',
      },
      'codesearch-gen-webrtc-linux': {
        'linux': 'codesearch_gen_linux_bot',
      }
    },
    'client.webrtc': {
      # Android
      'Android32': 'android_release_bot_arm',
      'Android32 (dbg)': 'android_debug_static_bot_arm',
      'Android32 (more configs)': {
        'dummy_audio_file_devices_no_protobuf':
        'dummy_audio_file_devices_no_protobuf_android_arm',
        'rtti_no_sctp': 'rtti_no_sctp_android_arm',
      },
      'Android32 Builder arm': 'android_pure_release_bot_arm',
      'Android32 Builder x86': 'android_release_bot_x86',
      'Android32 Builder x86 (dbg)': 'android_debug_static_bot_x86',
      'Android64': 'android_release_bot_arm64',
      'Android64 (dbg)': 'android_debug_static_bot_arm64',
      'Android64 Builder arm64': 'android_pure_release_bot_arm64',
      'Android64 Builder x64 (dbg)': 'android_debug_static_bot_x64',

      # Fuchsia
      'Fuchsia Builder': 'release_bot_x64_fuchsia',
      'Fuchsia Release': 'release_bot_x64_fuchsia',

      # Linux
      # "More configs" bots will build all the following configs in sequence.
      # This is using MB's "phases" feature.
      'Linux (more configs)': {
        'dummy_audio_file_devices_no_protobuf':
        'dummy_audio_file_devices_no_protobuf_x64',
        'rtti_no_sctp': 'rtti_no_sctp_x64',
        'openssl': 'openssl_x64',
        'libstdcpp': 'libstdcpp_x64',
      },
      'Linux Asan': 'asan_lsan_clang_release_bot_x64',
      'Linux MSan': 'msan_clang_release_bot_x64',
      'Linux Tsan v2': 'tsan_clang_release_bot_x64',
      'Linux UBSan': 'ubsan_clang_release_bot_x64',
      'Linux UBSan vptr': 'ubsan_vptr_clang_release_bot_x64',
      'Linux32 Debug': 'no_h264_debug_bot_x86',
      'Linux32 Debug (ARM)': 'debug_bot_arm',
      'Linux32 Release': 'release_bot_x86',
      'Linux32 Release (ARM)': 'release_bot_arm',
      'Linux64 Builder': 'pure_release_bot_x64',
      'Linux64 Debug': 'debug_bot_x64',
      'Linux64 Debug (ARM)': 'debug_bot_arm64',
      'Linux64 Release': 'release_bot_x64',
      'Linux64 Release (ARM)': 'release_bot_arm64',
      'Linux64 Release (Libfuzzer)': 'libfuzzer_asan_release_bot_x64',

      # Mac
      'Mac Asan': 'mac_asan_clang_release_bot_x64',
      'Mac64 Builder': 'pure_release_bot_x64',
      'Mac64 Debug': 'debug_bot_x64',
      'Mac64 Release': 'release_bot_x64',
      'MacARM64 M1 Release': 'release_bot_arm64',
      'MacArm64 Builder': 'release_bot_arm64',

      # Windows
      'Win (more configs)': {
        'dummy_audio_file_devices_no_protobuf':
        'dummy_audio_file_devices_no_protobuf_x86',
        'rtti_no_sctp': 'rtti_no_sctp_no_unicode_win_x86',
      },
      'Win32 Debug (Clang)': 'win_clang_debug_bot_x86',
      'Win32 Release (Clang)': 'win_clang_release_bot_x86',
      'Win64 ASan': 'win_asan_clang_release_bot_x64',
      'Win64 Builder (Clang)': 'win_clang_pure_release_bot_x64',
      'Win64 Debug (Clang)': 'win_clang_debug_bot_x64',
      'Win64 Release (Clang)': 'win_clang_release_bot_x64',

      # iOS
      'iOS Debug (simulator)': 'ios_debug_bot_x64',
      'iOS64 Debug': 'ios_debug_bot_arm64',
      'iOS64 Release': 'ios_release_bot_arm64',
    },
    'client.webrtc.fyi': {
      # Android
      'Android ASan (swarming)': 'android_asan_shared_release_bot_arm',
      'Android Perf (swarming)': 'android_pure_release_bot_arm',

      # Mac
      'Mac (swarming)': 'release_bot_x64',

      # Windows
      'Win (swarming)': 'release_bot_x86',
      'Win64 Debug (Win10)': 'debug_bot_x64',
      'Win64 Debug (Win8)': 'debug_bot_x64',
    },
    'client.webrtc.perf': {
      # These are here because testers need to gn gen + ninja for the
      # webrtc_dashboard_upload target (otherwise a tester would not need to
      # build anything).
      # TODO(http://crbug.com/1029452): Nuke these and isolate on builder
      # instead?
      'Perf Android32 (R Pixel5)': 'release_bot_x64',
      'Perf Android64 (R Pixel5)': 'release_bot_x64',
      'Perf Fuchsia': 'release_bot_x64_fuchsia',
      'Perf Linux Bionic': 'release_bot_x64',
      'Perf Linux Trusty': 'release_bot_x64',
      'Perf Mac 11': 'release_bot_x64',
      'Perf Mac M1 Arm64 12': 'release_bot_x64',
      'Perf Win 10': 'release_bot_x64',
    },
    'internal.client.webrtc': {
      'iOS64 Debug': 'ios_internal_debug_bot_arm64',
      'iOS64 Perf': 'ios_internal_pure_release_bot_arm64',
      'iOS64 Release': 'ios_internal_release_bot_arm64',
    },
    'tryserver.webrtc': {
      # Android
      'android_arm64_dbg': 'android_release_bot_arm64',
      'android_arm64_rel': 'android_release_bot_arm64',
      'android_arm_dbg': 'android_debug_static_bot_arm',
      'android_arm_more_configs': {
        'dummy_audio_file_devices_no_protobuf':
        'dummy_audio_file_devices_no_protobuf_android_arm',
        'rtti_no_sctp': 'rtti_no_sctp_android_arm',
	'disable_trace_events': 'disable_trace_events_android_arm',
        'perfetto': 'perfetto_android_arm',
      },
      'android_arm_rel': 'android_release_bot_arm',
      'android_compile_arm64_dbg': 'android_debug_static_bot_arm64',
      'android_compile_arm64_rel': 'android_pure_release_bot_arm64',
      'android_compile_arm_dbg': 'android_debug_static_bot_arm',
      'android_compile_arm_rel': 'android_pure_release_bot_arm',
      'android_compile_x64_dbg': 'android_debug_static_bot_x64',
      'android_compile_x64_rel': 'android_release_bot_x64',
      'android_compile_x86_dbg': 'android_debug_static_bot_x86',
      'android_compile_x86_rel': 'android_release_bot_x86',

      # Fuchsia
      'fuchsia_rel': 'release_bot_x64_fuchsia',

      # iOS
      'ios_compile_arm64_dbg': 'ios_debug_bot_arm64',
      'ios_compile_arm64_rel': 'ios_release_bot_arm64',
      'ios_dbg_simulator': 'ios_debug_bot_x64',

      # Include What You Use
      'iwyu_verifier': 'release_bot_x64',

      # Linux
      'linux_asan': 'asan_lsan_clang_release_bot_x64',
      'linux_compile_arm64_dbg': 'debug_bot_arm64',
      'linux_compile_arm64_rel': 'release_bot_arm64',
      'linux_compile_arm_dbg': 'debug_bot_arm',
      'linux_compile_arm_rel': 'release_bot_arm',
      'linux_compile_dbg': 'debug_bot_x64',
      'linux_compile_rel': 'pure_release_bot_x64',
      'linux_compile_x86_dbg': 'debug_bot_x86',
      'linux_compile_x86_rel': 'pure_release_bot_x86',
      'linux_coverage': 'code_coverage_bot_x64',
      'linux_dbg': 'debug_bot_x64',
      'linux_libfuzzer_rel': 'libfuzzer_asan_release_bot_x64',
      'linux_more_configs': {
        'dummy_audio_file_devices_no_protobuf':
        'dummy_audio_file_devices_no_protobuf_x64',
        'rtti_no_sctp': 'rtti_no_sctp_x64',
        'disable_trace_events': 'disable_trace_events_x64',
        'perfetto': 'perfetto_x64',
        'openssl': 'openssl_x64',
        'libstdcpp': 'libstdcpp_x64',
      },
      'linux_msan': 'msan_clang_release_bot_x64',
      'linux_rel': 'release_bot_x64',
      'linux_tsan2': 'tsan_clang_release_bot_x64',
      'linux_ubsan': 'ubsan_clang_release_bot_x64',
      'linux_ubsan_vptr': 'ubsan_vptr_clang_release_bot_x64',
      'linux_x86_dbg': 'no_h264_debug_bot_x86',
      'linux_x86_rel': 'release_bot_x86',

      # Mac
      'mac_asan': 'mac_asan_clang_release_bot_x64',
      'mac_compile_dbg': 'debug_bot_x64',
      'mac_compile_rel': 'pure_release_bot_x64',
      'mac_dbg': 'debug_bot_x64',
      'mac_dbg_m1': 'debug_bot_arm64',
      'mac_rel': 'release_bot_x64',
      'mac_rel_m1': 'release_bot_arm64',

      # Windows
      'win11_debug': 'win_clang_debug_bot_x64',
      'win11_release': 'win_clang_release_bot_x64',
      'win_asan': 'win_asan_clang_release_bot_x64',
      'win_compile_x64_clang_dbg': 'win_clang_debug_bot_x64',
      'win_compile_x64_clang_rel': 'win_clang_release_bot_x64',
      'win_compile_x86_clang_dbg': 'win_clang_debug_bot_x86',
      'win_compile_x86_clang_rel': 'win_clang_release_bot_x86',
      'win_x64_clang_dbg': 'win_clang_debug_bot_x64',
      'win_x64_clang_rel': 'win_clang_release_bot_x64',
      'win_x86_clang_dbg': 'win_clang_debug_bot_x86',
      'win_x86_clang_rel': 'win_clang_release_bot_x86',
      'win_x86_more_configs': {
        'dummy_audio_file_devices_no_protobuf':
        'dummy_audio_file_devices_no_protobuf_x86',
        'rtti_no_sctp': 'rtti_no_sctp_no_unicode_win_x86',
        'disable_trace_events': 'disable_trace_events_x86',
        'perfetto': 'perfetto_x86',
      },
    }
  },

  # 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 (i.e.,
  # we might have mac, win, and linux bots all using the 'release_bot' config).
  'configs': {
    'android_asan_shared_release_bot_arm': [
      'android',
      'asan',
      'chromium_base_dependency',
      'clang',
      'pure_release_bot',
      'arm',
    ],
    'android_debug_static_bot_arm': [
      'android',
      'chromium_base_dependency',
      'debug_static_bot',
      'arm',
      'h265',
    ],
    'android_debug_static_bot_arm64': [
      'android',
      'chromium_base_dependency',
      'debug_static_bot',
      'arm64',
      'h265',
    ],
    'android_debug_static_bot_x64': [
      'android',
      'chromium_base_dependency',
      'debug_static_bot',
      'x64',
      'h265',
    ],
    'android_debug_static_bot_x86': [
      'android',
      'chromium_base_dependency',
      'debug_static_bot',
      'x86',
      'h265',
    ],
    'android_pure_release_bot_arm': [
      'android',
      'chromium_base_dependency',
      'pure_release_bot',
      'arm',
    ],
    'android_pure_release_bot_arm64': [
      'android',
      'chromium_base_dependency',
      'pure_release_bot',
      'arm64',
    ],
    'android_release_bot_arm': [
      'android',
      'chromium_base_dependency',
      'release_bot',
      'arm',
      'h265',
    ],
    'android_release_bot_arm64': [
      'android',
      'chromium_base_dependency',
      'release_bot',
      'arm64',
      'h265',
    ],
    'android_release_bot_x64': [
      'android',
      'chromium_base_dependency',
      'release_bot',
      'x64',
      'h265',
    ],
    'android_release_bot_x86': [
      'android',
      'chromium_base_dependency',
      'release_bot',
      'x86',
      'h265',
     ],
    'asan_lsan_clang_release_bot_x64': [
      'asan',
      'lsan',
      'clang',
      'openh264',
      'pure_release_bot',
      'x64',
      'h265',
    ],
    'code_coverage_bot_x64': [
      'openh264', 'release_bot', 'x64', 'code_coverage',
      'partial_code_coverage_instrumentation', 'h265'
    ],
    'codesearch_gen_linux_bot':
    ['openh264', 'debug_bot', 'minimal_symbols', 'h265'],
    'debug_bot_arm': ['openh264', 'debug_bot', 'arm', 'h265'],
    'debug_bot_arm64': ['openh264', 'debug_bot', 'arm64', 'h265'],
    'debug_bot_x64': ['openh264', 'debug_bot', 'x64', 'h265'],
    'debug_bot_x86': ['openh264', 'debug_bot', 'x86', 'h265'],
    'disable_trace_events_android_arm': [
      'android',
      'arm',
      'chromium_base_dependency',
      'disable_trace_events',
      'release_bot',
    ],
    'disable_trace_events_x64':
    ['x64', 'disable_trace_events', 'release_bot'],
    'disable_trace_events_x86':
    ['x86', 'disable_trace_events', 'release_bot'],
    'dummy_audio_file_devices_no_protobuf_android_arm': [
      'android',
      'arm',
      'chromium_base_dependency',
      'debug_static_bot',
      'dummy_audio_file_devices',
      'no_protobuf',
    ],
    'dummy_audio_file_devices_no_protobuf_x64':
    ['debug_bot', 'x64', 'dummy_audio_file_devices', 'no_protobuf'],
    'dummy_audio_file_devices_no_protobuf_x86':
    ['debug_bot', 'x86', 'dummy_audio_file_devices', 'no_protobuf'],
    'ios_debug_bot_arm64':
    ['ios', 'debug_bot', 'arm64', 'no_ios_code_signing', 'xctest'],
    'ios_debug_bot_x64': ['ios', 'debug_bot', 'x64', 'xctest'],
    'ios_internal_debug_bot_arm64': [
      'ios', 'debug_bot', 'arm64', 'ios_code_signing_identity_description',
      'xctest'
    ],
    'ios_internal_pure_release_bot_arm64': [
      'ios', 'pure_release_bot', 'arm64',
      'ios_code_signing_identity_description', 'xctest',
      'rtc_objc_test_prefix',
    ],
    'ios_internal_release_bot_arm64': [
      'ios', 'release_bot', 'arm64', 'ios_code_signing_identity_description',
      'xctest'
    ],
    'ios_release_bot_arm64': [
      'ios', 'release_bot', 'arm64', 'no_ios_code_signing', 'xctest',
    ],
    'libfuzzer_asan_release_bot_x64': [
      'asan',
      'chromium_base_dependency',
      'h265',
      'libfuzzer',
      'openh264',
      'optimize_for_fuzzing',
      'pure_release_bot',
      'x64',
    ],
    'libstdcpp_x64': ['debug_bot', 'x64', 'no_custom_libcxx'],
    'mac_asan_clang_release_bot_x64': [
      'asan',
      'clang',
      'openh264',
      'pure_release_bot',
      'x64',
      'h265',
    ],
    'msan_clang_release_bot_x64':
    ['msan', 'clang', 'openh264', 'pure_release_bot', 'x64', 'h265'],
    'no_h264_debug_bot_x86': ['debug_bot', 'x86'],
    'openssl_x64': ['debug_bot', 'x64', 'no_build_ssl'],
    'perfetto_android_arm': [
      'android',
      'arm',
      'chromium_base_dependency',
      'perfetto',
      'release_bot'
    ],
    'perfetto_x64': [ 'x64', 'perfetto', 'release_bot'],
    'perfetto_x86': [ 'x86', 'perfetto', 'release_bot'],
    'pure_release_bot_x64': ['openh264', 'pure_release_bot', 'x64', 'h265'],
    'pure_release_bot_x86': ['openh264', 'pure_release_bot', 'x86', 'h265'],
    'release_bot_arm': ['openh264', 'release_bot', 'arm', 'h265'],
    'release_bot_arm64': ['openh264', 'release_bot', 'arm64', 'h265'],
    'release_bot_x64': ['openh264', 'release_bot', 'x64', 'h265'],
    'release_bot_x64_fuchsia':
    ['openh264', 'release_bot', 'x64', 'fuchsia', 'h265'],
    'release_bot_x86': ['openh264', 'release_bot', 'x86', 'h265'],
    'rtti_no_sctp_android_arm': [
      'android',
      'arm',
      'chromium_base_dependency',
      'debug_static_bot',
      'no_sctp',
      'rtti',
    ],
    'rtti_no_sctp_no_unicode_win_x86':
    ['debug_bot', 'x86', 'rtti', 'no_sctp', 'win_undef_unicode'],
    'rtti_no_sctp_x64': ['debug_bot', 'x64', 'rtti', 'no_sctp'],
    'tsan_clang_release_bot_x64':
    ['tsan', 'clang', 'openh264', 'pure_release_bot', 'x64', 'h265'],
    'ubsan_clang_release_bot_x64': [
      'ubsan', 'clang', 'openh264', 'pure_release_bot', 'x64', 'h265'
    ],
    'ubsan_vptr_clang_release_bot_x64': [
      'ubsan_vptr', 'clang', 'openh264', 'pure_release_bot', 'x64', 'h265'
    ],
    'win_asan_clang_release_bot_x64': [
      'asan',
      'clang',
      'full_symbols',
      'openh264',
      'pure_release_bot',
      'x64',
      'h265',
    ],
    'win_clang_debug_bot_x64': [
      'clang',
      'openh264',
      'debug_bot',
      'x64',
      'h265',
    ],
    'win_clang_debug_bot_x86': [
      'clang',
      'openh264',
      'debug_bot',
      'x86',
      'h265',
    ],
    'win_clang_pure_release_bot_x64': [
      'clang',
      'openh264',
      'pure_release_bot',
      'x64',
      'h265',
    ],
    'win_clang_release_bot_x64': [
      'clang',
      'openh264',
      'release_bot',
      'x64',
      'h265',
    ],
    'win_clang_release_bot_x86': [
      'clang',
      'openh264',
      'release_bot',
      'x86',
      'h265',
    ],
  },

  # 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': {
    'android': {
      'gn_args': 'target_os="android"',
    },
    'arm': {
      'gn_args': 'target_cpu="arm"',
    },
    'arm64': {
      'gn_args': 'target_cpu="arm64"',
    },
    'asan': {
      'gn_args': 'is_asan=true',
    },
    # TODO(b/42223878): Remove this code when the dependency on base is gone.
    'chromium_base_dependency': {
      'mixins': ['enable_chromium_prelude', 'enable_rust']
    },
    # is_clang=true by default, this is only to guard from upstream changes.
    'clang': {
      'gn_args': 'is_clang=true',
    },
    'code_coverage': {
      'gn_args': 'use_clang_coverage=true',
    },
    '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': {
      'mixins': ['debug', 'reclient', 'strict_field_trials'],
    },
    'debug_static_bot': {
      'mixins': ['debug', 'minimal_symbols', 'reclient', 'strict_field_trials'],
    },
    'disable_trace_events': {
      'gn_args': 'rtc_disable_trace_events=true',
    },
    'dummy_audio_file_devices': {
      'gn_args': 'rtc_use_dummy_audio_file_devices=true',
    },
    'enable_chromium_prelude': {
      'gn_args': 'enable_chromium_prelude=true',
    },
    'enable_rust': {
      'gn_args': 'enable_rust=true enable_rust_cxx=true',
    },
    'fuchsia': {
      'gn_args': 'target_os="fuchsia"'
    },
    'full_symbols': {
      'gn_args': 'symbol_level=2',
    },
    'h265': {
      'gn_args': 'rtc_use_h265=true',
    },
    'ios': {
      'gn_args': 'target_os="ios"',
    },
    'ios_code_signing_identity_description': {
      'gn_args': 'ios_code_signing_identity_description="Apple Development"',
    },
    'libfuzzer': {
      # TODO(b/42223878): use_fuzztest_wrapper adds a dependency to //base.
      'gn_args': 'use_libfuzzer=true use_fuzztest_wrapper=true',
    },
    'lsan': {
      'gn_args': 'is_lsan=true',
    },
    'minimal_symbols': {
      'gn_args': 'symbol_level=1',
    },
    'msan': {
      'gn_args': 'is_msan=true msan_track_origins=2',
    },
    'no_build_ssl': {
      'gn_args': 'rtc_build_ssl=false libsrtp_build_boringssl=false',
    },
    'no_custom_libcxx': {
      'gn_args': 'use_custom_libcxx=false',
    },
    'no_ios_code_signing': {
      'gn_args': 'ios_enable_code_signing=false',
    },
    'no_protobuf': {
      'gn_args': 'rtc_enable_protobuf=false',
    },
    'no_sctp': {
      'gn_args': 'rtc_enable_sctp=false',
    },
    'openh264': {
      'gn_args': 'ffmpeg_branding="Chrome" rtc_use_h264=true',
    },
    'optimize_for_fuzzing': {
      'gn_args': 'optimize_for_fuzzing=true',
    },
    'partial_code_coverage_instrumentation': {
      'gn_args':
      'coverage_instrumentation_input_file="//.code-coverage/files_to_instrument.txt"'
    },
    'perfetto': {
      'gn_args': 'rtc_use_perfetto=true',
    },
    # The 'pure_release_bot' configuration is for release bots that are doing a
    # 100% release build without DCHECKs while 'release_bot' is a partial
    # release configs since `dcheck_always_on` is set to true.
    'pure_release_bot': {
      'mixins': ['release', 'reclient', 'dcheck_off'],
    },
    'reclient': {
      'gn_args': 'use_remoteexec=true',
    },
    'release': {
      'gn_args': 'is_debug=false',
    },
    'release_bot': {
      'mixins': ['pure_release_bot', 'dcheck_always_on', 'strict_field_trials'],
    },
    'rtc_objc_test_prefix': {
      'gn_args': 'rtc_objc_prefix="RTC_TESTING"',
    },
    'rtti': {
      'gn_args': 'use_rtti=true',
    },
    'strict_field_trials': {
      'gn_args': 'rtc_strict_field_trials="dcheck"',
    },
    'tsan': {
      'gn_args': 'is_tsan=true',
    },
    'ubsan': {
      'gn_args': 'is_ubsan=true is_ubsan_no_recover=true',
    },
    'ubsan_vptr': {
      'gn_args': 'is_ubsan_vptr=true is_ubsan_no_recover=true',
    },
    'win_undef_unicode': {
      'gn_args': 'rtc_win_undef_unicode=true',
    },
    'x64': {
      'gn_args': 'target_cpu="x64"',
    },
    'x86': {
      'gn_args': 'target_cpu="x86"',
    },
    'xctest': {
      'gn_args': 'enable_run_ios_unittests_with_xctest=true',
    },
  },
}
