blob: db732a9a0f5aad4f53ae75e617b1717dffc25feb [file] [log] [blame]
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +01001# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
2#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
8
9# FOR DETAILS ON THIS FILE SEE THE MAIN COPY IN //tools/mb/mb_config.pyl.
10# This is configuration for standalone WebRTC bots. It is used to keep the bot
11# configurations source-side instead of in the buildbot scripts. That makes it
12# easy to try different configurations of GYP and GN in tryjob patches.
13
14{
15 # This is the list of configs that you can pass to mb; each config
16 # represents a particular combination of GYP_DEFINES/gn args that
17 # we must support. A given config *may* be platform-specific but
18 # is not necessarily so (i.e., we might have mac, win, and linux
19 # bots all using the 'gn_release_bot' config).
20 'configs': {
21 'ios_gn_debug_bot_arm64_device': ['ios', 'gn', 'debug_bot', 'arm64', 'device'],
22 'ios_gn_release_bot_arm64_device': ['ios', 'gn', 'release_bot', 'arm64', 'device'],
23 'ios_gyp_debug_bot_arm_device': ['ios', 'gyp', 'debug_bot', 'arm', 'device'],
24 'ios_gyp_release_bot_arm_device': ['ios', 'gyp', 'release_bot', 'arm', 'device'],
25 'ios_gyp_debug_bot_arm64_device': ['ios', 'gyp', 'debug_bot', 'arm64', 'device'],
26 'ios_gyp_release_bot_arm64_device': ['ios', 'gyp', 'release_bot', 'arm64', 'device'],
27 'ios_gyp_debug_bot_x86': ['ios', 'gyp', 'debug_bot', 'x86'],
28 'ios_gyp_debug_bot_x64': ['ios', 'gyp', 'release_bot', 'x64'],
29 },
30
31 # This is a dict mapping a given 'mixin' name to a dict of settings that
32 # mb should use. See //tools/mb/docs/user_guide.md for more information.
33 'mixins': {
34 'ios': {
35 'gn_args': 'target_os="ios"',
36 'gyp_defines': 'OS=ios',
37 },
38
39 'arm': {
40 'gn_args': 'target_cpu="arm"',
41 'gyp_defines': 'target_arch=arm',
42 },
43
44 'arm64': {
45 'gn_args': 'target_cpu="arm64"',
46 'gyp_defines': 'target_arch=arm64',
47 },
48
49 'debug': {
50 'gn_args': 'is_debug=true',
51 },
52
53 'debug_bot': {
kjellander@webrtc.org68718e32016-06-06 18:10:10 +020054 'mixins': ['debug', 'shared'],
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +010055 },
56
57 'device': {
kjellander@webrtc.org0c74ae12016-02-25 08:41:10 +010058 'gn_args': 'ios_enable_code_signing=false',
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +010059 'gyp_defines': 'chromium_ios_signing=0',
60 },
61
62 'gn': {'type': 'gn'},
63
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +010064 'gyp': {'type': 'gyp'},
65
66 'release': {
67 'gn_args': 'is_debug=false',
68 },
69
70 'release_bot': {
kjellander@webrtc.org68718e32016-06-06 18:10:10 +020071 'mixins': ['release', 'static'],
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +010072 },
73
74 'shared': {
75 'gn_args': 'is_component_build=true',
76 'gyp_defines': 'component=shared_library',
77 },
78
79 'static': {
80 'gn_args': 'is_component_build=false',
81 'gyp_defines': 'component=static_library',
82 },
83
84 'x64': {
85 'gn_args': 'target_cpu="x64"',
86 'gyp_defines': 'target_arch=x64',
87 },
88
89 'x86': {
90 'gn_args': 'target_cpu="x86"',
91 'gyp_defines': 'target_arch=ia32',
92 },
93 },
94
95 # This is a map of buildbot master names -> buildbot builder names ->
96 # config names (where each config name is a key in the 'configs' dict,
97 # above). mb uses this dict to look up which config to use for a given bot.
98 # The builders should be sorted by the order they appear in the /builders
99 # page on the buildbots, *not* alphabetically.
100 'masters': {
101 'client.webrtc': {
102 'iOS32 Debug': 'ios_gyp_debug_bot_arm_device',
103 'iOS32 Release': 'ios_gyp_release_bot_arm_device',
104 'iOS64 Debug': 'ios_gyp_debug_bot_arm64_device',
105 'iOS64 Release': 'ios_gyp_release_bot_arm64_device',
106 'iOS32 Debug Simulator': 'ios_gyp_debug_bot_x86',
107 'iOS64 Debug Simulator': 'ios_gyp_debug_bot_x64',
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100108 'iOS64 Debug (GN)': 'ios_gn_debug_bot_arm64_device',
109 'iOS64 Release (GN)': 'ios_gn_release_bot_arm64_device',
110 },
111 'tryserver.webrtc': {
112 'ios_dbg': 'ios_gyp_debug_bot_arm_device',
113 'ios_rel': 'ios_gyp_release_bot_arm_device',
114 'ios_arm64_dbg': 'ios_gyp_debug_bot_arm64_device',
115 'ios_arm64_rel': 'ios_gyp_release_bot_arm64_device',
116 'ios32_sim_dbg': 'ios_gyp_debug_bot_x86',
117 'ios64_sim_dbg': 'ios_gyp_debug_bot_x64',
118 'ios64_gn_dbg': 'ios_gn_debug_bot_arm64_device',
119 'ios64_gn_rel': 'ios_gn_release_bot_arm64_device',
120 },
121 },
kjellander@webrtc.org861dcb72016-02-24 21:36:40 +0100122}