# 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 master 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.
  'masters': {
    'client.webrtc': {
      # iOS
      'iOS32 Debug': 'ios_debug_bot_arm',
      'iOS32 Release': 'ios_release_bot_arm',
      'iOS64 Debug': 'ios_debug_bot_arm64',
      'iOS64 Release': 'ios_release_bot_arm64',
      'iOS64 Sim Debug (iOS 10.0)': 'ios_debug_bot_x64',
      'iOS64 Sim Debug (iOS 11)': 'ios_debug_bot_x64',
      'iOS64 Sim Debug (iOS 12)': 'ios_debug_bot_x64',

      # Mac
      'Mac64 Debug': 'debug_bot_x64',
      'Mac64 Release': 'release_bot_x64',
      'Mac64 Builder': 'pure_release_bot_x64',
      'Mac Asan': 'mac_asan_clang_release_bot_x64',

      # Linux
      'Linux32 Debug': 'no_h264_debug_bot_x86',
      'Linux32 Release': 'release_bot_x86',
      'Linux32 Debug (ARM)': 'debug_bot_arm',
      'Linux32 Release (ARM)': 'release_bot_arm',
      'Linux64 Debug': 'debug_bot_x64',
      'Linux64 Release': 'release_bot_x64',
      'Linux64 Builder': 'pure_release_bot_x64',
      'Linux64 Debug (ARM)': 'debug_bot_arm64',
      'Linux64 Release (ARM)': 'release_bot_arm64',
      'Linux64 Release (GCC)': 'gcc_release_bot_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',
      'Linux64 Release (Libfuzzer)': 'libfuzzer_asan_release_bot_x64',
      # "More configs" bots will build all the following configs in sequence.
      # This is using MB's "phases" feature.
      'Linux (more configs)': {
        'bwe_test_logging':
          'bwe_test_logging_x64',
        'dummy_audio_file_devices_no_protobuf':
          'dummy_audio_file_devices_no_protobuf_x64',
        'rtti_no_sctp':
          'rtti_no_sctp_x64',
      },

      # Android
      'Android32 (M Nexus5X)': 'android_release_bot_arm',
      'Android32 (M Nexus5X)(dbg)': 'android_debug_static_bot_arm',
      'Android32 Builder arm': 'android_pure_release_bot_arm',
      'Android64 (M Nexus5X)': 'android_release_bot_arm64',
      'Android64 (M Nexus5X)(dbg)': 'android_debug_static_bot_arm64',
      'Android64 Builder arm64': 'android_pure_release_bot_arm64',
      'Android32 Builder x86': 'android_release_bot_x86',
      'Android32 Builder x86 (dbg)': 'android_debug_static_bot_x86',
      'Android64 Builder x64 (dbg)': 'android_debug_static_bot_x64',
      'Android32 (more configs)': {
        'bwe_test_logging':
          'bwe_test_logging_android_arm',
        'dummy_audio_file_devices_no_protobuf':
          'dummy_audio_file_devices_no_protobuf_android_arm',
        'rtti_no_sctp':
          'rtti_no_sctp_android_arm',
      },

      # Windows
      'Win32 Debug': 'win_msvc_debug_bot_x86',
      'Win32 Release': 'win_msvc_release_bot_x86',
      'Win64 Debug': 'win_msvc_debug_bot_x64',
      'Win64 Release': 'win_msvc_release_bot_x64',
      'Win32 Debug (Clang)': 'win_clang_debug_bot_x86',
      'Win32 Release (Clang)': 'win_clang_release_bot_x86',
      'Win32 Builder (Clang)': 'win_clang_pure_release_bot_x86',
      'Win64 Debug (Clang)': 'win_clang_debug_bot_x64',
      'Win64 Release (Clang)': 'win_clang_release_bot_x64',
      'Win64 ASan': 'win_asan_clang_release_bot_x64',
      'Win64 UWP': 'win_uwp_release_bot_x64',
      'Win (more configs)': {
        'bwe_test_logging':
          'bwe_test_logging_x86',
        'dummy_audio_file_devices_no_protobuf':
          'dummy_audio_file_devices_no_protobuf_x86',
        'rtti_no_sctp':
          'rtti_no_sctp_no_unicode_win_x86',
      },
    },
    'client.webrtc.perf': {
      # Android
      'Android32 Builder': 'android_pure_release_bot_arm',
      'Android64 Builder': 'android_pure_release_bot_arm64',
      'Android32 Tests (J Nexus4)': 'none',
      'Android32 Tests (K Nexus5)': 'none',
      'Android32 Tests (L Nexus5)': 'none',
      'Android32 Tests (L Nexus6)': 'none',
      'Android32 Tests (L Nexus7.2)': 'none',
      'Android64 Tests (L Nexus9)': 'none',
      'Linux Trusty': 'pure_release_bot_x64',
      'Mac 10.11': 'pure_release_bot_x64',
      'Win7': 'win_clang_pure_release_bot_x86',
    },
    'client.webrtc.fyi': {
      # Mac
      'Mac (swarming)': 'release_bot_x64',

      # Android
      'Android Perf (swarming)': 'android_pure_release_bot_arm',
      'Android ASan (swarming)': 'android_asan_shared_release_bot_arm',
      # Windows
      'Win (swarming)': 'release_bot_x86',
      'Win64 Debug (Win8)': 'debug_bot_x64',
      'Win64 Debug (Win10)': 'debug_bot_x64',
    },
    'chromium.infra.codesearch': {
      'codesearch-gen-webrtc-android': {
        'android': 'android_debug_static_bot_arm',
      },
      'codesearch-gen-webrtc-linux': {
        'linux': 'codesearch_gen_linux_bot',
      }
    },
    'internal.client.webrtc': {
      'iOS64 Debug': 'ios_internal_debug_bot_arm64',
      'iOS64 Release': 'ios_internal_release_bot_arm64',
      'iOS64 Perf': 'ios_internal_pure_release_bot_arm64',
    },
    'internal.tryserver.webrtc': {
      'ios_arm64_dbg': 'ios_internal_debug_bot_arm64',
      'ios_arm64_rel': 'ios_internal_release_bot_arm64',
      'ios_arm64_perf': 'ios_internal_pure_release_bot_arm64',
    },
    'tryserver.webrtc': {
      # iOS
      'ios_compile_arm_dbg': 'ios_debug_bot_arm',
      'ios_compile_arm_rel': 'ios_release_bot_arm',
      'ios_compile_arm64_dbg': 'ios_debug_bot_arm64',
      'ios_compile_arm64_rel': 'ios_release_bot_arm64',
      'ios_sim_x64_dbg_ios10': 'ios_debug_bot_x64',
      'ios_sim_x64_dbg_ios11': 'ios_debug_bot_x64',
      'ios_sim_x64_dbg_ios12': 'ios_debug_bot_x64',

      # Mac
      'mac_compile_dbg': 'debug_bot_x64',
      'mac_compile_rel': 'pure_release_bot_x64',
      'mac_dbg': 'debug_bot_x64',
      'mac_rel': 'release_bot_x64',
      'mac_asan': 'mac_asan_clang_release_bot_x64',

      # Linux
      '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_compile_arm_dbg': 'debug_bot_arm',
      'linux_compile_arm_rel': 'release_bot_arm',
      'linux_compile_arm64_dbg': 'debug_bot_arm64',
      'linux_compile_arm64_rel': 'release_bot_arm64',
      'linux_compile_gcc_rel': 'gcc_release_bot_x64',
      'linux_dbg': 'debug_bot_x64',
      'linux_rel': 'release_bot_x64',
      'linux_x86_rel': 'release_bot_x86',
      'linux_x86_dbg': 'no_h264_debug_bot_x86',
      'linux_asan': 'asan_lsan_clang_release_bot_x64',
      'linux_msan': 'msan_clang_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_libfuzzer_rel': 'libfuzzer_asan_release_bot_x64',
      'linux_more_configs': {
        'bwe_test_logging':
          'bwe_test_logging_x64',
        'dummy_audio_file_devices_no_protobuf':
          'dummy_audio_file_devices_no_protobuf_x64',
        'rtti_no_sctp':
          'rtti_no_sctp_x64',
      },

      # Android
      'android_compile_arm_dbg': 'android_debug_static_bot_arm',
      'android_compile_arm_rel': 'android_pure_release_bot_arm',
      'android_compile_arm64_dbg': 'android_debug_static_bot_arm64',
      'android_compile_arm64_rel': 'android_pure_release_bot_arm64',
      'android_compile_x86_dbg': 'android_debug_static_bot_x86',
      'android_compile_x86_rel': 'android_release_bot_x86',
      'android_compile_x64_dbg': 'android_debug_static_bot_x64',
      'android_compile_x64_rel': 'android_release_bot_x64',
      'android_arm_dbg': 'android_debug_static_bot_arm',
      'android_arm_rel': 'android_release_bot_arm',
      'android_arm64_dbg': 'android_release_bot_arm64',
      'android_arm64_rel': 'android_release_bot_arm64',
      'android_arm_more_configs': {
        'bwe_test_logging':
          'bwe_test_logging_android_arm',
        'dummy_audio_file_devices_no_protobuf':
          'dummy_audio_file_devices_no_protobuf_android_arm',
        'rtti_no_sctp':
          'rtti_no_sctp_android_arm',
      },

      # Windows
      'win_compile_x86_msvc_dbg': 'win_msvc_debug_bot_x86',
      'win_compile_x86_msvc_rel': 'win_msvc_release_bot_x86',
      'win_compile_x64_msvc_dbg': 'win_msvc_debug_bot_x64',
      'win_compile_x64_msvc_rel': 'win_msvc_release_bot_x64',
      'win_compile_x86_clang_dbg': 'win_clang_debug_bot_x86',
      'win_compile_x86_clang_rel': 'win_clang_release_bot_x86',
      'win_compile_x64_clang_dbg': 'win_clang_debug_bot_x64',
      'win_compile_x64_clang_rel': 'win_clang_release_bot_x64',
      'win_x86_msvc_dbg': 'win_msvc_debug_bot_x86',
      'win_x86_msvc_rel': 'win_msvc_release_bot_x86',
      'win_x64_msvc_dbg': 'win_msvc_debug_bot_x64',
      'win_x64_msvc_rel': 'win_msvc_release_bot_x64',
      'win_x86_clang_dbg': 'win_clang_debug_bot_x86',
      'win_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_asan': 'win_asan_clang_release_bot_x64',
      'win_x64_clang_dbg_win8': 'win_clang_debug_bot_x64',
      'win_x64_clang_dbg_win10': 'win_clang_debug_bot_x64',
      'win_x64_uwp': 'win_uwp_release_bot_x64',
      'win_x86_more_configs': {
        'bwe_test_logging':
          'bwe_test_logging_x86',
        'dummy_audio_file_devices_no_protobuf':
          'dummy_audio_file_devices_no_protobuf_x86',
        'rtti_no_sctp':
          'rtti_no_sctp_no_unicode_win_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': {
    # Linux, Mac and Windows
    'gcc_release_bot_x64': [
      'gcc', 'release_bot', 'x64', 'no_rtc_tests'
    ],
    # TODO(kjellander): Restore Goma for this when crbug.com/726706 is fixed.
    'debug_bot_arm': [
      'openh264', 'debug', 'arm'
    ],
    'release_bot_arm': [
      'openh264', 'release_bot', 'arm'
    ],
    'debug_bot_arm64': [
      'openh264', 'debug_bot', 'arm64'
    ],
    'release_bot_arm64': [
      'openh264', 'release_bot', 'arm64'
    ],
    'asan_lsan_clang_release_bot_x64': [
      'asan', 'lsan', 'clang', 'openh264', 'release_bot', 'x64'
    ],
    'msan_clang_release_bot_x64': [
      'msan', 'clang', 'openh264', 'release_bot', 'x64'
    ],
    'tsan_clang_release_bot_x64': [
      'tsan', 'clang', 'openh264', 'release_bot', 'x64'
    ],
    'ubsan_clang_release_bot_x64': [
      'ubsan', 'clang', 'openh264', 'release_bot', 'x64'
    ],
    'ubsan_vptr_clang_release_bot_x64': [
      'ubsan_vptr', 'clang', 'openh264', 'release_bot', 'x64'
    ],
    'debug_bot_x86': [
      'openh264', 'debug_bot', 'x86'
    ],
    'no_h264_debug_bot_x86': [
      'debug_bot', 'x86'
    ],
    'release_bot_x86': [
      'openh264', 'release_bot', 'x86'
    ],
    'debug_bot_x64': [
      'openh264', 'debug_bot', 'x64'
    ],
    'codesearch_gen_linux_bot': [
      'openh264', 'debug_bot', 'minimal_symbols'
    ],
    'release_bot_x64': [
      'openh264', 'release_bot', 'x64'
    ],
    'pure_release_bot_x86': [
      'openh264', 'pure_release_bot', 'x86'
    ],
    'pure_release_bot_x64': [
      'openh264', 'pure_release_bot', 'x64'
    ],
    'libfuzzer_asan_release_bot_x64': [
      'libfuzzer', 'asan', 'optimize_for_fuzzing', 'openh264', 'release_bot',
      'x64', 'no_rtc_tests'
    ],

    # Windows
    'win_clang_debug_bot_x86': [
      'clang', 'openh264', 'debug_bot', 'x86',
    ],
    'win_clang_release_bot_x86': [
      'clang', 'openh264', 'release_bot', 'x86',
    ],
    'win_clang_pure_release_bot_x86': [
      'clang', 'openh264', 'pure_release_bot', 'x86',
    ],
    'win_clang_debug_bot_x64': [
      'clang', 'openh264', 'debug_bot', 'x64',
    ],
    'win_clang_release_bot_x64': [
      'clang', 'openh264', 'release_bot', 'x64',
    ],
    'win_msvc_debug_bot_x86': [
      'no_clang', 'debug_bot_no_goma', 'x86', 'no_lld', 'minimal_symbols',
    ],
    'win_msvc_release_bot_x86': [
      'no_clang', 'release_bot_no_goma', 'x86', 'no_lld', 'minimal_symbols',
    ],
    'win_msvc_debug_bot_x64': [
      'no_clang', 'debug_bot_no_goma', 'x64', 'no_lld', 'minimal_symbols',
    ],
    'win_msvc_release_bot_x64': [
      'no_clang', 'release_bot_no_goma', 'x64', 'no_lld', 'minimal_symbols',
    ],
    'win_asan_clang_release_bot_x64': [
      'asan', 'clang',  'full_symbols', 'openh264', 'release_bot', 'x64',
      'win_fastlink',
    ],
    'win_uwp_release_bot_x64': [
      # UWP passes compiler flags that are not supported by goma.
      'no_clang', 'openh264', 'x64', 'winuwp', 'release_bot_no_goma'
    ],

    # Mac
    'mac_asan_clang_release_bot_x64': [
      'asan', 'clang', 'openh264', 'release_bot', 'x64',
    ],

    # Android
    'android_debug_static_bot_arm': [
      'android', 'debug_static_bot', 'arm'
    ],
    'android_release_bot_arm': [
      'android', 'release_bot', 'arm'
    ],
    'android_pure_release_bot_arm': [
      'android', 'pure_release_bot', 'arm'
    ],
    'android_debug_static_bot_x86': [
      'android', 'debug_static_bot', 'x86'
    ],
    'android_release_bot_x86': [
      'android', 'release_bot', 'x86'
    ],
    'android_debug_static_bot_arm64': [
      'android', 'debug_static_bot', 'arm64'
    ],
    'android_release_bot_arm64': [
      'android', 'release_bot', 'arm64'
    ],
    'android_pure_release_bot_arm64': [
      'android', 'pure_release_bot', 'arm64'
    ],
    'android_debug_static_bot_x64': [
      'android', 'debug_static_bot', 'x64'
    ],
    'android_release_bot_x64': [
      'android', 'release_bot', 'x86'
    ],
    'android_asan_shared_release_bot_arm': [
      'android', 'asan', 'clang', 'release_bot', 'arm'
    ],

    # iOS
    'ios_debug_bot_arm': [
      'ios', 'debug_bot', 'arm', 'no_ios_code_signing'
    ],
    'ios_release_bot_arm': [
      'ios', 'release_bot', 'arm', 'no_ios_code_signing'
    ],
    'ios_debug_bot_arm64': [
      'ios', 'debug_bot', 'arm64', 'no_ios_code_signing'
    ],
    'ios_release_bot_arm64': [
      'ios', 'release_bot', 'arm64', 'no_ios_code_signing'
    ],
    'ios_internal_debug_bot_arm64': [
      'ios', 'debug_bot', 'arm64'
    ],
    'ios_internal_release_bot_arm64': [
      'ios', 'release_bot', 'arm64'
    ],
    'ios_internal_pure_release_bot_arm64': [
      'ios', 'pure_release_bot', 'arm64'
    ],
    'ios_debug_bot_x64': [
      'ios', 'debug_bot', 'x64'
    ],

    # More configs
    'bwe_test_logging_x64': [
      'debug_bot', 'x64', 'bwe_test_logging'
    ],
    'dummy_audio_file_devices_no_protobuf_x64': [
      'debug_bot', 'x64', 'dummy_audio_file_devices', 'no_protobuf'
    ],
    'rtti_no_sctp_x64': [
      'debug_bot', 'x64', 'rtti', 'no_sctp'
    ],

    'bwe_test_logging_x86': [
      'debug_bot', 'x86', 'bwe_test_logging'
    ],
    'dummy_audio_file_devices_no_protobuf_x86': [
      'debug_bot', 'x86', 'dummy_audio_file_devices', 'no_protobuf'
    ],
    'rtti_no_sctp_no_unicode_win_x86': [
      'debug_bot', 'x86', 'rtti', 'no_sctp', 'win_undef_unicode'
    ],

    'bwe_test_logging_android_arm': [
      'android', 'debug_static_bot', 'arm', 'bwe_test_logging'
    ],
    'dummy_audio_file_devices_no_protobuf_android_arm': [
      'android', 'debug_static_bot', 'arm',
      'dummy_audio_file_devices', 'no_protobuf'
    ],
    'rtti_no_sctp_android_arm': [
      'android', 'debug_static_bot', 'arm', 'rtti', 'no_sctp'
    ],

    # This is used for tracking purposes; any bot that uses this config
    # should never actually run MB.
    'none': [
      'error',
    ],
  },

  # 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',
    },

    # is_clang=true by default, this is only to guard from upstream changes.
    'clang': {
      'gn_args': 'is_clang=true',
    },

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

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

    'debug_bot': {
      'mixins': ['debug', 'goma'],
    },

    'debug_bot_no_goma': {
      'mixins': ['debug', 'no_goma'],
    },

    'debug_static_bot': {
      'mixins': ['debug', 'minimal_symbols', 'goma'],
    },

    # This mixin is used to force configs that use it to fail. It
    # is used in two cases: when we have bots that we haven't looked
    # at yet and don't know whether they need MB or not, and for bots
    # that are test-only and should never run MB.
    'error': {
      'gn_args': 'error',
    },

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

    'gcc': {
      'gn_args': ('is_clang=false use_sysroot=false '
                  'treat_warnings_as_errors=false'),
    },

    'goma': {
      'gn_args': 'use_goma=true',
    },

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

    'no_goma': {
      'gn_args': 'use_goma=false',
    },

    'libfuzzer': {
      'gn_args': 'use_libfuzzer=true',
    },

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

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

    'msan': {
      'gn_args': 'is_msan=true msan_track_origins=2',
    },

    'no_clang': {
      'gn_args': 'is_clang=false',
    },

    'no_ios_code_signing': {
      'gn_args': 'ios_enable_code_signing=false',
    },

    'no_lld': {
      'gn_args': 'use_lld=false',
    },

    'no_rtc_tests': {
      'gn_args': 'rtc_include_tests=false',
    },

    'openh264': {
      'gn_args': 'ffmpeg_branding="Chrome" rtc_use_h264=true',
    },

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

    'pure_release_bot': {
      'mixins': ['release', 'goma'],
    },

    'release': {
      'gn_args': 'is_debug=false',
    },

    'release_bot': {
      'mixins': ['pure_release_bot', 'dcheck_always_on'],
    },

    'release_bot_no_goma': {
      'mixins': ['release', 'no_goma', 'dcheck_always_on'],
    },

    '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_fastlink': {
      'gn_args': 'is_win_fastlink=true',
    },

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

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

    'bwe_test_logging': {
      'gn_args': 'rtc_enable_bwe_test_logging=true',
    },

    'dummy_audio_file_devices': {
      'gn_args': 'rtc_use_dummy_audio_file_devices=true',
    },

    'no_protobuf': {
      'gn_args': 'rtc_enable_protobuf=false',
    },

    'rtti': {
      'gn_args': 'use_rtti=true',
    },

    'no_sctp': {
      'gn_args': 'rtc_enable_sctp=false',
    },

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

    'win_undef_unicode': {
      'gn_args': 'rtc_win_undef_unicode=true',
    },
  },
}
