# 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': {},
    'client.webrtc': {
      # Android
      '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 (more configs)': {
        'dummy_audio_file_devices_no_protobuf':
        'dummy_audio_file_devices_no_protobuf_android_arm64',
        'rtti_no_sctp': 'rtti_no_sctp_android_arm64',
        'cxx23': 'use_cxx23_android_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',
        'disable_trace_events': 'disable_trace_events_x64',
        'perfetto': 'perfetto_x64',
        'openssl': 'openssl_x64',
        'libstdcpp': 'libstdcpp_x64',
        'no_lld': 'no_lld_x64',
        'no_psnr': 'no_psnr_x64',
        'cxx23': 'use_cxx23_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_arm64',
      'Mac64 Debug': 'debug_bot_arm64',
      'Mac64 Release': 'release_bot_arm64',
      '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',
        'cxx23': 'use_cxx23_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_arm64',
      'iOS64 Debug': 'ios_debug_bot_arm64',
      'iOS64 Release': 'ios_release_bot_arm64',
    },
    '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': 'release_bot_x64',
      'Perf Mac M1 Arm64 12': 'release_bot_x64',
      'Perf Win 10': 'release_bot_x64',
    },
    'tryserver.webrtc': {
      # Android
      'android_arm_dbg': 'android_debug_static_bot_arm64',
      'android_arm_more_configs': {
        'dummy_audio_file_devices_no_protobuf':
        'dummy_audio_file_devices_no_protobuf_android_arm64',
        'rtti_no_sctp': 'rtti_no_sctp_android_arm64',
        'disable_trace_events': 'disable_trace_events_android_arm64',
        'perfetto': 'perfetto_android_arm64',
        'cxx23': 'use_cxx23_android_arm64',
      },
      'android_arm_rel': 'android_release_bot_arm64',
      'android_compile_arm_dbg': 'android_debug_static_bot_arm64',
      'android_compile_arm_rel': 'android_pure_release_bot_arm64',
      '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_arm64',

      # 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',
        'no_lld': 'no_lld_x64',
        'no_psnr': 'no_psnr_x64',
        'cxx23': 'use_cxx23_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_arm64',
      'mac_compile_dbg': 'debug_bot_arm64',
      'mac_compile_rel': 'pure_release_bot_arm64',
      'mac_dbg': 'debug_bot_arm64',
      'mac_dbg_m1': 'debug_bot_arm64',
      'mac_rel': 'release_bot_arm64',
      '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',
        'cxx23': 'use_cxx23_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_debug_static_bot_arm64': [
      'android',
      'debug_static_bot',
      'arm64',
      'h265',
    ],
    'android_debug_static_bot_x64': [
      'android',
      'debug_static_bot',
      'x64',
      'h265',
    ],
    'android_debug_static_bot_x86': [
      'android',
      'debug_static_bot',
      'x86',
      'h265',
    ],
    'android_pure_release_bot_arm': [
      'android',
      'pure_release_bot',
      'arm',
    ],
    'android_pure_release_bot_arm64': [
      'android',
      'pure_release_bot',
      'arm64',
    ],
    'android_release_bot_arm64': [
      'android',
      'release_bot',
      'arm64',
      'h265',
    ],
    'android_release_bot_x64': [
      'android',
      'release_bot',
      'x64',
      'h265',
    ],
    'android_release_bot_x86': [
      'android',
      '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'
    ],
    '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_arm64': [
      'android',
      'arm64',
      '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_arm64': [
      'android',
      'arm64',
      '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',
      'ios_simulator',
      'debug_bot',
      'arm64',
      'xctest',
    ],
    'ios_release_bot_arm64': [
      'ios',
      'ios_simulator',
      'release_bot',
      'arm64',
      'no_ios_code_signing',
      'xctest',
      'rtc_objc_test_prefix',
    ],
    'libfuzzer_asan_release_bot_x64': [
      'asan',
      'h265',
      'libfuzzer',
      'openh264',
      'optimize_for_fuzzing',
      'pure_release_bot',
      'x64',
    ],
    'libstdcpp_x64': ['debug_bot', 'x64', 'no_custom_libcxx'],
    'mac_asan_clang_release_bot_arm64': [
      'asan',
      'clang',
      'openh264',
      'pure_release_bot',
      'arm64',
      'h265',
    ],
    'msan_clang_release_bot_x64':
    ['msan', 'clang', 'openh264', 'pure_release_bot', 'x64', 'h265'],
    'no_h264_debug_bot_x86': ['debug_bot', 'x86'],
    'no_lld_x64': ['debug_bot', 'x64', 'no_lld'],
    'no_psnr_x64': ['debug_bot', 'x64', 'no_psnr'],
    'openssl_x64': ['debug_bot', 'x64', 'no_build_ssl'],
    'perfetto_android_arm64': [
      'android',
      'arm64',
      'perfetto',
      'release_bot',
    ],
    'perfetto_x64': ['x64', 'perfetto', 'release_bot'],
    'perfetto_x86': ['x86', 'perfetto', 'release_bot'],
    'pure_release_bot_arm64': ['openh264', 'pure_release_bot', 'arm64', 'h265'],
    '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_arm64': [
      'android',
      'arm64',
      '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'],
    'use_cxx23_android_arm64': [
      'android',
      'arm64',
      'debug_bot',
      'use_cxx23_flag',
    ],
    'use_cxx23_x64': [
      'debug_bot',
      'use_cxx23_flag',
      'x64',
    ],
    'use_cxx23_x86': [
      'debug_bot',
      'use_cxx23_flag',
      'x86',
    ],
    '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" android_static_analysis="on"',
    },
    'arm': {
      'gn_args': 'target_cpu="arm"',
    },
    'arm64': {
      'gn_args': 'target_cpu="arm64"',
    },
    'asan': {
      'gn_args': 'is_asan=true',
    },
    # 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',
        'remoteexec',
        'strict_field_trials',
      ],
    },
    'debug_static_bot': {
      'mixins': [
        'debug',
        'minimal_symbols',
        'remoteexec',
        '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',
    },
    '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_simulator': {
      'gn_args': 'target_environment="simulator"'
    },
    'libfuzzer': {
      # use_fuzztest_wrapper=false by default, this is only for visibility.
      'gn_args': 'use_libfuzzer=true use_fuzztest_wrapper=false',
    },
    '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_lld': {
      'gn_args': 'use_lld=false',
    },
    'no_protobuf': {
      'gn_args': 'rtc_enable_protobuf=false',
    },
    'no_psnr': {
      'gn_args': 'rtc_video_psnr=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', 'remoteexec', 'dcheck_off'],
    },
    'release': {
      'gn_args': 'is_debug=false',
    },
    'release_bot': {
      'mixins': [
        'pure_release_bot',
        'dcheck_always_on',
        'strict_field_trials',
      ],
    },
    'remoteexec': {
      'gn_args': 'use_remoteexec=true use_reclient=false use_siso=true',
    },
    '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',
    },
    'use_cxx23_flag': {
      'gn_args': 'use_cxx23=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',
    },
  },
}
