From 64390f940c321201fb8a866e80f44ced11ff07c8 Mon Sep 17 00:00:00 2001 From: Dan Albert Date: Fri, 9 Jan 2015 22:40:48 -0800 Subject: [PATCH] Add support for building other architectures. Since we often make changes that might break on other architectures, let the buildbot deal with some of these for us. They can be invoked by `bionicbb:ARCH`, where `ARCH` is one of: * arm * aarch64 * mips * mips64 * x86 * x86_64 Specifying arm isn't particularly interesting (since the default target for the buildbot is hammerhead), but there are some differences in the math instructions available for the default ARM target, so it could be helpful for testing changes to the compiler-rt builtins. Change-Id: I94018fd3c30d26fcf405e747fc633cbdd08ff4e5 --- tools/bionicbb/gmail_listener.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tools/bionicbb/gmail_listener.py b/tools/bionicbb/gmail_listener.py index 87184849b..1dc82fa69 100644 --- a/tools/bionicbb/gmail_listener.py +++ b/tools/bionicbb/gmail_listener.py @@ -130,7 +130,7 @@ def clean_project(gerrit_info, dry_run): return True -def build_project(gerrit_info, dry_run): +def build_project(gerrit_info, dry_run, lunch_target=None): project_to_jenkins_map = { 'platform/bionic': 'bionic-presubmit', 'platform/build': 'bionic-presubmit', @@ -177,6 +177,8 @@ def build_project(gerrit_info, dry_run): 'CHANGE_ID': change_id, 'PROJECT': project_path } + if lunch_target is not None: + params['LUNCH_TARGET'] = lunch_target if not dry_run: job = jenkins[build].invoke(build_params=params) url = job.get_build().baseurl @@ -233,6 +235,19 @@ def handle_comment(gerrit_info, body, dry_run): command_map = { 'clean': lambda: clean_project(gerrit_info, dry_run), 'retry': lambda: build_project(gerrit_info, dry_run), + + 'arm': lambda: build_project(gerrit_info, dry_run, + lunch_target='aosp_arm-eng'), + 'aarch64': lambda: build_project(gerrit_info, dry_run, + lunch_target='aosp_arm64-eng'), + 'mips': lambda: build_project(gerrit_info, dry_run, + lunch_target='aosp_mips-eng'), + 'mips64': lambda: build_project(gerrit_info, dry_run, + lunch_target='aosp_mips64-eng'), + 'x86': lambda: build_project(gerrit_info, dry_run, + lunch_target='aosp_x86-eng'), + 'x86_64': lambda: build_project(gerrit_info, dry_run, + lunch_target='aosp_x86_64-eng'), } def handle_unknown_command():