Home | History | Annotate | Download | only in recipes
      1 # Copyright 2018 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 
      6 import math
      7 
      8 
      9 DEPS = [
     10   'recipe_engine/properties',
     11   'recipe_engine/step',
     12   'vars',
     13 ]
     14 
     15 
     16 def RunSteps(api):
     17   api.vars.setup()
     18 
     19   buildername = api.properties['buildername']
     20   issue = api.properties.get('patch_issue')
     21   patchset = api.properties.get('patch_set')
     22   if not issue or not patchset:
     23     # This bot currently only supports trybot runs because:
     24     # Non-trybot runs could fail if the Android tree is red. We mitigate this
     25     # for trybot runs by verifying that runs without the patch succeed. We do
     26     # not currently have a way to do the same for non-trybot runs.
     27     raise Exception('%s can only be run as a trybot.' % buildername)
     28 
     29   infrabots_dir = api.vars.skia_dir.join('infra', 'bots')
     30   trigger_wait_ac_script = infrabots_dir.join('android_compile',
     31                                               'trigger_wait_ac_task.py')
     32 
     33   # Trigger a compile task on android-compile.skia.org and wait for it to
     34   # complete.
     35   cmd = ['python', trigger_wait_ac_script,
     36          '--issue', issue,
     37          '--patchset', patchset,
     38         ]
     39   api.step('Trigger and wait for task on android-compile.skia.org', cmd=cmd)
     40 
     41 
     42 def GenTests(api):
     43   yield(
     44     api.test('android_compile_trybot') +
     45     api.properties(
     46         buildername='Build-Debian9-Clang-gce_x86_phone-eng-Android_Framework',
     47         path_config='kitchen',
     48         swarm_out_dir='[SWARM_OUT_DIR]',
     49         repository='https://skia.googlesource.com/skia.git',
     50         patch_issue=1234,
     51         patch_set=1,
     52     )
     53   )
     54 
     55   yield(
     56     api.test('android_compile_nontrybot') +
     57     api.properties(
     58         buildername='Build-Debian9-Clang-gce_x86_phone-eng-Android_Framework',
     59         path_config='kitchen',
     60         swarm_out_dir='[SWARM_OUT_DIR]',
     61         repository='https://skia.googlesource.com/skia.git',
     62         revision='abc123',
     63     ) +
     64     api.expect_exception('Exception')
     65   )
     66