Commit fe4053ba by Jamie Madill Committed by Commit Bot

infra: Add angle_mb_config.pyl.

This will be used to set up gn args for standalone builds. We can then set the GN args source-side instead of in the recipe directly. Bug: angleproject:5114 Change-Id: I6fac6d13903951031a7299aea203f6b3e13c72bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2819461Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
parent 29dc2b6e
...@@ -14,6 +14,10 @@ def _CommonChecks(input_api, output_api): ...@@ -14,6 +14,10 @@ def _CommonChecks(input_api, output_api):
angle_root = d(d(input_api.PresubmitLocalPath())) angle_root = d(d(input_api.PresubmitLocalPath()))
gen_script = os.path.join(angle_root, 'testing', 'buildbot', 'generate_buildbot_json.py') gen_script = os.path.join(angle_root, 'testing', 'buildbot', 'generate_buildbot_json.py')
# Validate the format of the mb_config.pyl file.
mb_path = os.path.join(angle_root, 'tools', 'mb', 'mb.py')
config_path = os.path.join(input_api.PresubmitLocalPath(), 'angle_mb_config.pyl')
commands = [ commands = [
input_api.Command( input_api.Command(
name='generate_buildbot_json', name='generate_buildbot_json',
...@@ -23,6 +27,17 @@ def _CommonChecks(input_api, output_api): ...@@ -23,6 +27,17 @@ def _CommonChecks(input_api, output_api):
], ],
kwargs={}, kwargs={},
message=output_api.PresubmitError), message=output_api.PresubmitError),
input_api.Command(
name='mb_validate',
cmd=[
input_api.python_executable,
mb_path,
'validate',
'-f',
config_path,
],
kwargs={'cwd': input_api.PresubmitLocalPath()},
message=output_api.PresubmitError),
] ]
messages = [] messages = []
......
# Copyright 2021 The ANGLE 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.
# This is a .pyl, or "Python Literal", file. You can treat it just like a
# .json file, with the following exceptions:
# * all keys must be quoted (use single quotes, please);
# * comments are allowed, using '#' syntax; and
# * trailing commas are allowed.
{
# This is a map of builder group names -> builder names -> config names
# (where each config name is a key in the 'configs' dict, below). MB uses
# this dict to look up which config to use for a given bot.
'builder_groups': {
'angle': {
'linux-clang-dbg': 'angle_goma_debug_bot',
'linux-clang-rel': 'angle_goma_release_bot',
'linux-gcc-dbg': 'angle_non_clang_debug_bot',
'linux-gcc-rel': 'angle_non_clang_release_bot',
'mac-dbg': 'angle_goma_debug_bot',
'mac-rel': 'angle_goma_release_bot',
'win-clang-x64-dbg': 'angle_goma_debug_bot',
'win-clang-x64-rel': 'angle_goma_release_bot',
'win-clang-x86-dbg': 'angle_goma_x86_debug_bot',
'win-clang-x86-rel': 'angle_goma_x86_release_bot',
'win-msvc-x64-dbg': 'angle_non_clang_debug_bot',
'win-msvc-x64-rel': 'angle_non_clang_release_bot',
'win-msvc-x86-dbg': 'angle_non_clang_x86_debug_bot',
'win-msvc-x86-rel': 'angle_non_clang_x86_release_bot',
'winuwp-x64-dbg': 'angle_winuwp_non_clang_debug_bot',
'winuwp-x64-rel': 'angle_winuwp_non_clang_release_bot',
},
},
# 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': {
'angle_goma_debug_bot': ['angle', 'goma', 'debug'],
'angle_goma_release_bot': ['angle', 'goma', 'release'],
'angle_goma_x86_debug_bot': ['angle', 'goma', 'x86', 'debug'],
'angle_goma_x86_release_bot': ['angle', 'goma', 'x86', 'release'],
'angle_non_clang_debug_bot': ['angle', 'non_clang', 'debug'],
'angle_non_clang_release_bot': ['angle', 'non_clang', 'release'],
'angle_non_clang_x86_debug_bot': ['angle', 'non_clang', 'x86', 'debug'],
'angle_non_clang_x86_release_bot': ['angle', 'non_clang', 'x86', 'release'],
'angle_winuwp_non_clang_debug_bot': ['angle', 'winuwp', 'non_clang', 'debug'],
'angle_winuwp_non_clang_release_bot': ['angle', 'winuwp', 'non_clang', 'release'],
},
# 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': {
'angle': {
'gn_args': 'build_angle_gles1_conform_tests=true build_angle_trace_perf_tests=true is_component_build=false'
},
'debug': {
'gn_args': 'is_debug=true',
},
'goma': {
'gn_args': 'use_goma=true'
},
'non_clang': {
'gn_args': 'is_clang=false'
},
'release': {
'gn_args': 'is_debug=false'
},
'winuwp': {
'gn_args': 'target_os="winuwp"'
},
'x86': {
'gn_args': 'target_cpu="x86"'
},
},
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment