2016-07-26 18:52:17 +00:00
|
|
|
# Copyright 2014 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.
|
|
|
|
|
|
|
|
|
|
|
|
# Recipe for the Skia PerCommit Housekeeper.
|
|
|
|
|
2018-03-12 12:59:00 +00:00
|
|
|
|
|
|
|
import calendar
|
|
|
|
|
|
|
|
|
2016-07-26 18:52:17 +00:00
|
|
|
DEPS = [
|
2018-05-24 13:14:18 +00:00
|
|
|
'binary_size',
|
|
|
|
'checkout',
|
|
|
|
'doxygen',
|
2018-05-04 17:46:15 +00:00
|
|
|
'flavor',
|
2017-05-13 02:09:38 +00:00
|
|
|
'recipe_engine/context',
|
2018-03-12 12:59:00 +00:00
|
|
|
'recipe_engine/file',
|
2016-07-26 18:52:17 +00:00
|
|
|
'recipe_engine/path',
|
|
|
|
'recipe_engine/properties',
|
2018-03-12 12:59:00 +00:00
|
|
|
'recipe_engine/time',
|
2017-02-02 14:02:37 +00:00
|
|
|
'run',
|
|
|
|
'vars',
|
2016-07-26 18:52:17 +00:00
|
|
|
]
|
|
|
|
|
|
|
|
|
|
|
|
def RunSteps(api):
|
|
|
|
# Checkout, compile, etc.
|
2018-05-04 17:46:15 +00:00
|
|
|
api.vars.setup()
|
2018-05-24 13:14:18 +00:00
|
|
|
checkout_root = api.checkout.default_checkout_root
|
|
|
|
got_revision = api.checkout.bot_update(checkout_root=checkout_root)
|
2018-05-04 17:46:15 +00:00
|
|
|
api.file.ensure_directory('makedirs tmp_dir', api.vars.tmp_dir)
|
|
|
|
api.flavor.setup()
|
2016-07-26 18:52:17 +00:00
|
|
|
|
|
|
|
# TODO(borenet): Detect static initializers?
|
|
|
|
|
2018-05-24 13:14:18 +00:00
|
|
|
skia_dir = checkout_root.join('skia')
|
|
|
|
if not api.vars.is_trybot:
|
|
|
|
api.doxygen.generate_and_upload(skia_dir)
|
2017-03-20 19:40:12 +00:00
|
|
|
|
2018-05-24 13:14:18 +00:00
|
|
|
now = api.time.utcnow()
|
|
|
|
ts = int(calendar.timegm(now.utctimetuple()))
|
|
|
|
filename = 'nanobench_%s_%d.json' % (got_revision, ts)
|
|
|
|
dest_dir = api.flavor.host_dirs.perf_data_dir
|
|
|
|
dest_file = dest_dir + '/' + filename
|
|
|
|
api.file.ensure_directory('makedirs perf_dir', dest_dir)
|
|
|
|
api.binary_size.run_analysis(skia_dir, dest_file)
|
2016-07-26 18:52:17 +00:00
|
|
|
|
2016-08-12 15:50:29 +00:00
|
|
|
|
2016-07-26 18:52:17 +00:00
|
|
|
def GenTests(api):
|
2016-12-02 16:01:33 +00:00
|
|
|
yield (
|
|
|
|
api.test('Housekeeper-PerCommit') +
|
|
|
|
api.properties(buildername='Housekeeper-PerCommit',
|
2017-01-17 19:35:06 +00:00
|
|
|
repository='https://skia.googlesource.com/skia.git',
|
2016-12-02 16:01:33 +00:00
|
|
|
revision='abc123',
|
|
|
|
path_config='kitchen',
|
|
|
|
swarm_out_dir='[SWARM_OUT_DIR]') +
|
|
|
|
api.path.exists(api.path['start_dir'])
|
|
|
|
)
|
|
|
|
yield (
|
|
|
|
api.test('Housekeeper-PerCommit-Trybot') +
|
|
|
|
api.properties(buildername='Housekeeper-PerCommit',
|
2017-01-17 19:35:06 +00:00
|
|
|
repository='https://skia.googlesource.com/skia.git',
|
2016-12-02 16:01:33 +00:00
|
|
|
revision='abc123',
|
|
|
|
path_config='kitchen',
|
|
|
|
patch_storage='gerrit',
|
|
|
|
swarm_out_dir='[SWARM_OUT_DIR]') +
|
|
|
|
api.properties.tryserver(
|
|
|
|
buildername='Housekeeper-PerCommit',
|
|
|
|
gerrit_project='skia',
|
|
|
|
gerrit_url='https://skia-review.googlesource.com/',
|
|
|
|
) +
|
|
|
|
api.path.exists(api.path['start_dir'])
|
|
|
|
)
|