Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(45)

Unified Diff: tools/mb/mb_config.pyl

Issue 1062613004: Implement mb - a meta-build wrapper for bots to use in the GYP->GN migration. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: bug fixes and tests, reorganize mb_config.pyl Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/mb/mb.py ('k') | tools/mb/mb_unittest.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/mb/mb_config.pyl
diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl
new file mode 100644
index 0000000000000000000000000000000000000000..630ef02b9be82635f20f0923e9d9f7526567f2ea
--- /dev/null
+++ b/tools/mb/mb_config.pyl
@@ -0,0 +1,170 @@
+# Copyright 2015 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ # 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': {
+ 'android_gn_release_bot': ['android', 'gn', 'release_bot'],
+ 'android_gn_debug_bot': ['android', 'gn', 'debug_bot'],
+ 'android_gn_release_trybot': ['android', 'gn', 'release_trybot'],
+ 'chromeos_gn_debug_bot': ['chromeos', 'gn', 'debug_bot'],
+ 'chromeos_gn_release_bot': ['chromeos', 'gn', 'release_bot'],
+ 'chromeos_gn_release_trybot': ['chromeos', 'gn', 'release_trybot'],
+ 'dev_gn_debug': ['gn', 'debug', 'shared', 'full_symbols'],
+ 'dev_gyp_debug': ['gyp', 'debug', 'shared', 'full_symbols'],
+ 'dev_gn_release': ['gn', 'release', 'shared'],
+ 'dev_gyp_release': ['gyp', 'release', 'shared'],
+ 'gn_release_bot': ['gn', 'release_bot'],
+ 'gn_release_bot_x86': ['gn', 'release_bot', 'x86'],
+ 'gn_release_trybot': ['gn', 'release_trybot'],
+ 'gn_debug_bot': ['gn', 'debug_bot'],
+ 'gyp_release_bot': ['gyp', 'release_bot'],
+ },
+
+ # This is a list of configs that do not actually exist on any bot
+ # but are used so commonly by devs that we must support them.
+ 'common_dev_configs': [
+ 'dev_gn_debug',
+ 'dev_gn_release',
+ 'dev_gyp_debug',
+ 'dev_gyp_release',
+ ],
+
+ # This is a list of configs that some private (not publicly accessible)
+ # bot somewhere uses and that we must support. Ideally we should actually
+ # have a bot for each of these on the public waterfall. Each config should
+ # at least have a contact listed.
+ 'private_configs': [
+ ],
+
+ # This is a list of configs that are not commonly used by that we should
+ # make some effort to support, but if it breaks that is not the end of
+ # the world. Each config should have a contact listed, and we expect the
+ # contact to be on the hook for fixing the config.
+ 'unsupported_configs': [
+ ],
+
+ # 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"',
+ 'gyp_defines': 'OS=android',
+ },
+
+ 'chromeos': {
+ 'gn_args': 'target_os="chromeos"',
+ 'gyp_defines': 'chromeos=1',
+ },
+
+ 'dcheck_always_on': {
+ 'gn_args': 'dcheck_always_on=true',
+ 'gyp_defines': 'dcheck_always_on=1',
+ },
+
+ 'debug': {
+ 'gn_args': 'is_debug=true',
+ 'gyp_config': 'Debug',
+ },
+
+ 'debug_bot': {'mixins': ['debug', 'shared', 'minimal_symbols', 'goma']},
+
+ 'full_symbols': {
+ 'gn_args': 'symbol_level=2',
+ 'gyp_defines': 'fastbuild=0',
+ },
+
+ 'gn': {'type': 'gn'},
+
+ 'goma': {
+ 'gn_args': 'use_goma=true goma_dir="$(goma_dir)"',
+ 'gyp_defines': 'goma=1 gomadir=$(goma_dir)',
+ },
+
+ 'gyp': {'type': 'gyp'},
+
+ 'minimal_symbols': {
+ 'gn_args': 'symbol_level=1',
+ 'gyp_defines': 'fastbuild=1',
+ },
+
+ 'release': {
+ 'gn_args': 'is_debug=false',
+ 'gyp_config': 'Release',
+ },
+
+ 'release_bot': {
+ 'mixins': ['release', 'static', 'minimal_symbols', 'goma'],
+ },
+
+ 'release_trybot': {
+ 'mixins': ['release_bot', 'dcheck_always_on', 'goma']
+ },
+
+ 'shared': {
+ 'gn_args': 'is_component_build=true',
+ 'gyp_defines': 'component=shared_library',
+ },
+
+ 'static': {
+ 'gn_args': 'is_component_build=false',
+ 'gyp_defines': 'component=static_library',
+ },
+
+ 'x86': {
+ 'gn_args': 'target_cpu="x86"',
+ 'gyp_args': '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.
+ # TODO(dpranke): add in remaining bots on the waterfalls.
+ 'masters': {
+ 'chromium.chromeos': {
+ 'Linux ChromiumOS GN': 'chromeos_gn_release_bot',
+ },
+ 'chromium.linux': {
+ 'Android GN': 'android_gn_release_bot',
+ 'Linux Builder': 'gyp_release_bot',
+ 'Linux GN': 'gn_release_bot',
+ 'Linux GN (dbg)': 'gn_debug_bot',
+ 'Linux Tests': 'gyp_release_bot',
+ },
+ 'chromium.mac': {
+ 'Mac GN': 'gn_release_bot',
+ 'Mac GN (dbg)': 'gn_debug_bot',
+ },
+ 'chromium.win': {
+ 'Win8 GN': 'gn_release_bot',
+ 'Win8 GN (dbg)': 'gn_debug_bot',
+ },
+ 'tryserver.chromium.linux': {
+ 'android_chromium_gn_dbg': 'android_gn_debug_bot',
+ 'android_chromium_gn_rel': 'android_gn_release_trybot',
+ 'linux_chromiumos_chromium_gn_rel': 'chromeos_gn_release_trybot',
+ 'linux_chromiumos_chromium_gn_dbg': 'chromeos_gn_debug_bot',
+ 'linux_chromium_gn_dbg': 'gn_debug_bot',
+ 'linux_chromium_gn_rel': 'gn_release_trybot',
+ 'linux_chromium_gn_upload_x64': 'gn_release_bot',
+ 'linux_chromium_gn_upload_x86': 'gn_release_bot_x86',
+ },
+ 'tryserver.chromium.mac': {
+ 'mac_chromium_gn_dbg': 'gn_debug_bot',
+ 'mac_chromium_gn_rel': 'gn_release_trybot',
+ 'mac_chromium_gn_upload': 'gn_release_bot',
+ },
+ 'tryserver.chromium.win': {
+ 'win8_chromium_gn_dbg': 'gn_debug_bot',
+ 'win8_chromium_gn_rel': 'gn_release_trybot',
+ 'win8_chromium_gn_upload': 'gn_release_bot',
+ },
+ },
+}
« no previous file with comments | « tools/mb/mb.py ('k') | tools/mb/mb_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698