| # Copyright 2018 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. |
| |
| |
| import math |
| |
| |
| DEPS = [ |
| 'recipe_engine/path', |
| 'recipe_engine/properties', |
| 'recipe_engine/step', |
| ] |
| |
| |
| def RunSteps(api): |
| buildername = api.properties['buildername'] |
| issue = api.properties.get('patch_issue') |
| patchset = api.properties.get('patch_set') |
| if not issue or not patchset: |
| # This bot currently only supports trybot runs because: |
| # Non-trybot runs could fail if the Android tree is red. We mitigate this |
| # for trybot runs by verifying that runs without the patch succeed. We do |
| # not currently have a way to do the same for non-trybot runs. |
| raise Exception('%s can only be run as a trybot.' % buildername) |
| |
| infrabots_dir = api.path['start_dir'].join('skia', 'infra', 'bots') |
| trigger_wait_ac_script = infrabots_dir.join('android_compile', |
| 'trigger_wait_ac_task.py') |
| |
| # Trigger a compile task on android-compile.skia.org and wait for it to |
| # complete. |
| cmd = ['python', trigger_wait_ac_script, |
| '--issue', issue, |
| '--patchset', patchset, |
| ] |
| api.step('Trigger and wait for task on android-compile.skia.org', cmd=cmd) |
| |
| |
| def GenTests(api): |
| yield( |
| api.test('android_compile_trybot') + |
| api.properties( |
| buildername='Build-Debian9-Clang-gce_x86_phone-eng-Android_Framework', |
| path_config='kitchen', |
| swarm_out_dir='[SWARM_OUT_DIR]', |
| repository='https://skia.googlesource.com/skia.git', |
| patch_issue=1234, |
| patch_set=1, |
| ) |
| ) |
| |
| yield( |
| api.test('android_compile_nontrybot') + |
| api.properties( |
| buildername='Build-Debian9-Clang-gce_x86_phone-eng-Android_Framework', |
| path_config='kitchen', |
| swarm_out_dir='[SWARM_OUT_DIR]', |
| repository='https://skia.googlesource.com/skia.git', |
| revision='abc123', |
| ) + |
| api.expect_exception('Exception') |
| ) |