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
This commit is contained in:
Dan Albert 2015-01-09 22:40:48 -08:00
parent d7f935a05b
commit 64390f940c
1 changed files with 16 additions and 1 deletions

View File

@ -130,7 +130,7 @@ def clean_project(gerrit_info, dry_run):
return True return True
def build_project(gerrit_info, dry_run): def build_project(gerrit_info, dry_run, lunch_target=None):
project_to_jenkins_map = { project_to_jenkins_map = {
'platform/bionic': 'bionic-presubmit', 'platform/bionic': 'bionic-presubmit',
'platform/build': 'bionic-presubmit', 'platform/build': 'bionic-presubmit',
@ -177,6 +177,8 @@ def build_project(gerrit_info, dry_run):
'CHANGE_ID': change_id, 'CHANGE_ID': change_id,
'PROJECT': project_path 'PROJECT': project_path
} }
if lunch_target is not None:
params['LUNCH_TARGET'] = lunch_target
if not dry_run: if not dry_run:
job = jenkins[build].invoke(build_params=params) job = jenkins[build].invoke(build_params=params)
url = job.get_build().baseurl url = job.get_build().baseurl
@ -233,6 +235,19 @@ def handle_comment(gerrit_info, body, dry_run):
command_map = { command_map = {
'clean': lambda: clean_project(gerrit_info, dry_run), 'clean': lambda: clean_project(gerrit_info, dry_run),
'retry': lambda: build_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(): def handle_unknown_command():