1fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# Copyright 2014 The Chromium Authors. All rights reserved. 2fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# Use of this source code is governed by a BSD-style license that can be 3fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# found in the LICENSE file. 4fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 5fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 6fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot# Recipe for the Skia PerCommit Housekeeper. 7fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 8fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team RobotDEPS = [ 9fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'depot_tools/bot_update', 10fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'recipe_engine/context', 11fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'recipe_engine/path', 12fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'recipe_engine/properties', 13fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'recipe_engine/python', 14fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'recipe_engine/step', 15fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'core', 16fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'run', 17fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'vars', 18fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot] 19fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 20fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 21fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotdef RunSteps(api): 22fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot # Checkout, compile, etc. 23fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot api.core.setup() 24fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 25fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot cwd = api.path['checkout'] 26fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 27fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot # TODO(borenet): Detect static initializers? 28fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 29fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot with api.context(cwd=cwd): 30fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot gsutil_path = api.bot_update._module.PACKAGE_REPO_ROOT.join('gsutil.py') 31fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot if not api.vars.is_trybot: 32fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot api.run( 33fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot api.step, 34fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'generate and upload doxygen', 35fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot cmd=['python', api.core.resource('generate_and_upload_doxygen.py')], 36fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot abort_on_failure=False) 37fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 38fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot cmd = ['python', api.core.resource('run_binary_size_analysis.py'), 39fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot '--library', api.vars.skia_out.join( 40fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'Release', 'lib', 'libskia.so'), 41fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot '--githash', api.properties['revision'], 42fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot '--gsutil_path', gsutil_path] 43fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot if api.vars.is_trybot: 44fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot cmd.extend(['--issue_number', str(api.properties['patch_issue'])]) 45fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot api.run( 46fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot api.step, 47fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 'generate and upload binary size data', 48fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot cmd=cmd, 49fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot abort_on_failure=False) 50fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 51fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 52fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotdef GenTests(api): 53fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot yield ( 54fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot api.test('Housekeeper-PerCommit') + 55fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot api.properties(buildername='Housekeeper-PerCommit', 56fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot repository='https://skia.googlesource.com/skia.git', 57fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot revision='abc123', 58fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot path_config='kitchen', 59fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot swarm_out_dir='[SWARM_OUT_DIR]') + 60fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot api.path.exists(api.path['start_dir']) 61fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot ) 62fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot yield ( 63fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot api.test('Housekeeper-PerCommit-Trybot') + 64fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot api.properties(buildername='Housekeeper-PerCommit', 65fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot repository='https://skia.googlesource.com/skia.git', 66fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot revision='abc123', 67fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot path_config='kitchen', 68fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot patch_storage='gerrit', 69fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot swarm_out_dir='[SWARM_OUT_DIR]') + 70fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot api.properties.tryserver( 71fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot buildername='Housekeeper-PerCommit', 72fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot gerrit_project='skia', 73fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot gerrit_url='https://skia-review.googlesource.com/', 74fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot ) + 75fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot api.path.exists(api.path['start_dir']) 76fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot ) 77