blob: db732a9a0f5aad4f53ae75e617b1717dffc25feb [file] [log] [blame]
# 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 GYP and GN in tryjob patches.
# This is the list of configs that you can pass to mb; each config
# represents a particular combination of GYP_DEFINES/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 'gn_release_bot' config).
'configs': {
'ios_gn_debug_bot_arm64_device': ['ios', 'gn', 'debug_bot', 'arm64', 'device'],
'ios_gn_release_bot_arm64_device': ['ios', 'gn', 'release_bot', 'arm64', 'device'],
'ios_gyp_debug_bot_arm_device': ['ios', 'gyp', 'debug_bot', 'arm', 'device'],
'ios_gyp_release_bot_arm_device': ['ios', 'gyp', 'release_bot', 'arm', 'device'],
'ios_gyp_debug_bot_arm64_device': ['ios', 'gyp', 'debug_bot', 'arm64', 'device'],
'ios_gyp_release_bot_arm64_device': ['ios', 'gyp', 'release_bot', 'arm64', 'device'],
'ios_gyp_debug_bot_x86': ['ios', 'gyp', 'debug_bot', 'x86'],
'ios_gyp_debug_bot_x64': ['ios', 'gyp', 'release_bot', 'x64'],
# This is a dict mapping a given 'mixin' name to a dict of settings that
# mb should use. See //tools/mb/docs/ for more information.
'mixins': {
'ios': {
'gn_args': 'target_os="ios"',
'gyp_defines': 'OS=ios',
'arm': {
'gn_args': 'target_cpu="arm"',
'gyp_defines': 'target_arch=arm',
'arm64': {
'gn_args': 'target_cpu="arm64"',
'gyp_defines': 'target_arch=arm64',
'debug': {
'gn_args': 'is_debug=true',
'debug_bot': {
'mixins': ['debug', 'shared'],
'device': {
'gn_args': 'ios_enable_code_signing=false',
'gyp_defines': 'chromium_ios_signing=0',
'gn': {'type': 'gn'},
'gyp': {'type': 'gyp'},
'release': {
'gn_args': 'is_debug=false',
'release_bot': {
'mixins': ['release', 'static'],
'shared': {
'gn_args': 'is_component_build=true',
'gyp_defines': 'component=shared_library',
'static': {
'gn_args': 'is_component_build=false',
'gyp_defines': 'component=static_library',
'x64': {
'gn_args': 'target_cpu="x64"',
'gyp_defines': 'target_arch=x64',
'x86': {
'gn_args': 'target_cpu="x86"',
'gyp_defines': 'target_arch=ia32',
# 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': {
'iOS32 Debug': 'ios_gyp_debug_bot_arm_device',
'iOS32 Release': 'ios_gyp_release_bot_arm_device',
'iOS64 Debug': 'ios_gyp_debug_bot_arm64_device',
'iOS64 Release': 'ios_gyp_release_bot_arm64_device',
'iOS32 Debug Simulator': 'ios_gyp_debug_bot_x86',
'iOS64 Debug Simulator': 'ios_gyp_debug_bot_x64',
'iOS64 Debug (GN)': 'ios_gn_debug_bot_arm64_device',
'iOS64 Release (GN)': 'ios_gn_release_bot_arm64_device',
'tryserver.webrtc': {
'ios_dbg': 'ios_gyp_debug_bot_arm_device',
'ios_rel': 'ios_gyp_release_bot_arm_device',
'ios_arm64_dbg': 'ios_gyp_debug_bot_arm64_device',
'ios_arm64_rel': 'ios_gyp_release_bot_arm64_device',
'ios32_sim_dbg': 'ios_gyp_debug_bot_x86',
'ios64_sim_dbg': 'ios_gyp_debug_bot_x64',
'ios64_gn_dbg': 'ios_gn_debug_bot_arm64_device',
'ios64_gn_rel': 'ios_gn_release_bot_arm64_device',