| Index: master/master_builders_cfg.py
|
| diff --git a/master/master_builders_cfg.py b/master/master_builders_cfg.py
|
| deleted file mode 100644
|
| index c0a48bc10646383a7d79be5c379cc7eda5e7eeb6..0000000000000000000000000000000000000000
|
| --- a/master/master_builders_cfg.py
|
| +++ /dev/null
|
| @@ -1,457 +0,0 @@
|
| -# Copyright (c) 2012 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.
|
| -
|
| -# Sets up all the builders we want this buildbot master to run.
|
| -
|
| -
|
| -#pylint: disable=C0301
|
| -
|
| -
|
| -from skia_master_scripts.canary_factory import CanaryFactory as f_canary
|
| -from skia_master_scripts.chromeos_factory import ChromeOSFactory as f_cros
|
| -from skia_master_scripts.drt_canary_factory import DRTCanaryFactory as f_drt
|
| -from skia_master_scripts.factory import SkiaFactory as f_factory
|
| -from skia_master_scripts import utils
|
| -from skia_master_scripts.xsan_factory import XsanFactory as f_xsan
|
| -from skia_master_scripts.factory import TARGET_PLATFORM_LINUX as LINUX
|
| -from skia_master_scripts.factory import TARGET_PLATFORM_WIN32 as WIN32
|
| -from skia_master_scripts.factory import TARGET_PLATFORM_MAC as MAC
|
| -
|
| -import builder_name_schema
|
| -import collections
|
| -
|
| -
|
| -# Directory where we want to record performance data
|
| -#
|
| -# TODO(epoger): consider changing to reuse existing config.Master.perf_base_url,
|
| -# config.Master.perf_report_url_suffix, etc.
|
| -perf_output_basedir_linux = '../../../../perfdata'
|
| -perf_output_basedir_mac = perf_output_basedir_linux
|
| -perf_output_basedir_windows = '..\\..\\..\\..\\perfdata'
|
| -
|
| -
|
| -# Maps a target platform to a perf_output_basedir.
|
| -PERF_OUTPUT_BASEDIR = {
|
| - LINUX: perf_output_basedir_linux,
|
| - MAC: perf_output_basedir_mac,
|
| - WIN32: perf_output_basedir_windows,
|
| -}
|
| -
|
| -
|
| -# Schedulers used by the build master.
|
| -S_PERCOMMIT = 'skia_percommit_scheduler'
|
| -S_NIGHTLY = 'skia_nightly_scheduler'
|
| -S_15MINS = 'skia_15_minute_scheduler'
|
| -
|
| -
|
| -defaults = {}
|
| -
|
| -
|
| -ARCH_TO_GYP_DEFINE = {
|
| - 'x86': {'skia_arch_width': '32'},
|
| - 'x86_64': {'skia_arch_width': '64'},
|
| - 'Arm7': {'skia_arch_width': '32'},
|
| - 'Arm64': {'skia_arch_width': '64'},
|
| - 'Mips': {'skia_arch_width': '32'},
|
| - 'Mips64': {'skia_arch_width': '64'},
|
| - 'MipsDSP2': {'skia_arch_width': '32'},
|
| - 'NaCl': None,
|
| -}
|
| -
|
| -
|
| -CHROMEOS_BOARD_NAME = {
|
| - 'Alex': 'x86-alex',
|
| - 'Link': 'link',
|
| - 'Daisy': 'daisy',
|
| -}
|
| -
|
| -
|
| -# GYP_DEFINES for various types of builders.
|
| -GYP_WIN7 = repr({'skia_win_debuggers_path': 'c:/DbgHelp',
|
| - 'qt_sdk': 'C:/Qt/4.8.5/'})
|
| -GYP_WIN8 = repr({'skia_win_debuggers_path': 'c:/DbgHelp',
|
| - 'qt_sdk': 'C:/Qt/Qt5.1.0/5.1.0/msvc2012_64/'})
|
| -GYP_ANGLE = repr({'skia_win_debuggers_path': 'c:/DbgHelp',
|
| - 'qt_sdk': 'C:/Qt/4.8.5/',
|
| - 'skia_angle': '1'})
|
| -GYP_GDI = repr({'skia_win_debuggers_path': 'c:/DbgHelp',
|
| - 'qt_sdk': 'C:/Qt/4.8.5/',
|
| - 'skia_gdi': '1'})
|
| -GYP_EXC = repr({'skia_win_debuggers_path': 'c:/DbgHelp',
|
| - 'qt_sdk': 'C:/Qt/4.8.5/',
|
| - 'skia_win_exceptions': '1'})
|
| -GYP_IOS = repr({'skia_os': 'ios'})
|
| -NO_GPU = repr({'skia_gpu': '0'})
|
| -CLANG = repr({'skia_clang_build': '1'})
|
| -VALGRIND = repr({'skia_release_optimization_level': '1'})
|
| -PDFVIEWER = repr({'skia_run_pdfviewer_in_gm': '1'})
|
| -GYP_SHARED = repr({'component': 'shared_library'})
|
| -NO_GPU_SHARED = repr({'skia_gpu': '0', 'skia_shared_lib': '1'})
|
| -
|
| -
|
| -def get_gyp_defines(arch, gyp_defines_str=None):
|
| - """Build a dictionary of gyp defines.
|
| -
|
| - Args:
|
| - arch: string; target architecture. Needs to appear in ARCH_TO_GYP_DEFINE.
|
| - gyp_defines_str: optional string; a string representation of a dictionary
|
| - of gyp defines.
|
| - Returns:
|
| - a dictionary mapping gyp variable names to their intended values.
|
| - """
|
| - try:
|
| - arch_width_define = ARCH_TO_GYP_DEFINE[arch]
|
| - except KeyError:
|
| - raise Exception('Unknown arch type: %s' % arch)
|
| - gyp_defines = eval(gyp_defines_str or 'None')
|
| - if arch_width_define:
|
| - if not gyp_defines:
|
| - gyp_defines = arch_width_define
|
| - else:
|
| - if 'skia_arch_width' in gyp_defines.keys():
|
| - raise ValueError('Cannot define skia_arch_width; it is derived from '
|
| - 'the provided arch type.')
|
| - gyp_defines.update(arch_width_define)
|
| - return gyp_defines
|
| -
|
| -
|
| -# Types of builders to be used below.
|
| -class BaseBuilder:
|
| -
|
| - def _create(self, helper, do_upload_render_results, do_upload_bench_results,
|
| - is_trybot=False):
|
| - """Internal method used by create() to set up a builder.
|
| -
|
| - Args:
|
| - helper: instance of utils.SkiaHelper
|
| - do_upload_render_results: bool; whether the builder should upload its
|
| - render results.
|
| - do_upload_bench_results: bool; whether the builder should upload its
|
| - bench results.
|
| - is_trybot: bool; whether or not the builder is a trybot.
|
| - """
|
| - builder_name = builder_name_schema.BuilderNameFromObject(self, is_trybot)
|
| - if is_trybot:
|
| - # Override the scheduler for trybots.
|
| - scheduler_name = utils.TRY_SCHEDULERS_STR
|
| - else:
|
| - scheduler_name = self.scheduler
|
| -
|
| - helper.Builder(builder_name, 'f_%s' % builder_name,
|
| - scheduler=scheduler_name)
|
| - helper.Factory('f_%s' % builder_name, self.factory_type(
|
| - builder_name=builder_name,
|
| - do_patch_step=is_trybot,
|
| - do_upload_render_results=do_upload_render_results,
|
| - do_upload_bench_results=do_upload_bench_results,
|
| - **self.factory_args
|
| - ).Build(**({'role': self.role} if hasattr(self, 'role') else {})))
|
| -
|
| - def create(self, helper, do_upload_render_results, do_upload_bench_results,
|
| - do_trybots=True):
|
| - """Sets up a builder based on this configuration object.
|
| -
|
| - Args:
|
| - helper: instance of utils.SkiaHelper
|
| - do_upload_render_results: bool; whether the builder should upload its
|
| - render results.
|
| - do_upload_bench_results: bool; whether the builder should upload its
|
| - bench results.
|
| - is_trybot: bool; whether or not to create an associated try builder.
|
| - """
|
| - self._create(helper, do_upload_render_results, do_upload_bench_results,
|
| - is_trybot=False)
|
| - if do_trybots:
|
| - self._create(helper, do_upload_render_results, do_upload_bench_results,
|
| - is_trybot=True)
|
| -
|
| -
|
| -BuilderConfig = collections.namedtuple(
|
| - 'Builder',
|
| - ['role', 'os', 'model', 'gpu', 'arch', 'configuration', 'extra_config',
|
| - 'gyp_defines', 'factory_type', 'target_platform', 'scheduler',
|
| - 'extra_factory_args'])
|
| -
|
| -
|
| -CompileBuilderConfig = collections.namedtuple(
|
| - 'CompileBuilder',
|
| - ['os', 'compiler', 'configuration', 'target_arch', 'extra_config',
|
| - 'gyp_defines', 'warnings_as_errors', 'factory_type', 'target_platform',
|
| - 'scheduler', 'extra_factory_args'])
|
| -
|
| -
|
| -HousekeepingBuilderConfig = collections.namedtuple(
|
| - 'HousekeepingBuilder',
|
| - ['frequency', 'extra_config', 'factory_type', 'target_platform',
|
| - 'scheduler', 'extra_factory_args'])
|
| -
|
| -
|
| -CanaryBuilderConfig = collections.namedtuple(
|
| - 'CanaryBuilder',
|
| - ['project', 'os', 'compiler', 'target_arch', 'configuration', 'flavor',
|
| - 'build_subdir', 'gyp_defines', 'factory_type', 'target_platform',
|
| - 'scheduler', 'extra_factory_args'])
|
| -
|
| -
|
| -class Builder(BaseBuilder, BuilderConfig):
|
| -
|
| - @property
|
| - def factory_args(self):
|
| - args = {
|
| - 'configuration': self.configuration,
|
| - 'gyp_defines': get_gyp_defines(self.arch, self.gyp_defines),
|
| - 'target_platform': self.target_platform,
|
| - 'perf_output_basedir':
|
| - (PERF_OUTPUT_BASEDIR[self.target_platform]
|
| - if self.role == 'Perf' else None),
|
| - }
|
| - args.update(self.extra_factory_args)
|
| - return args
|
| -
|
| -
|
| -class CompileBuilder(BaseBuilder, CompileBuilderConfig):
|
| -
|
| - role = builder_name_schema.BUILDER_ROLE_BUILD
|
| -
|
| - @property
|
| - def factory_args(self):
|
| - args = {
|
| - 'configuration': self.configuration,
|
| - 'gyp_defines': get_gyp_defines(self.target_arch, self.gyp_defines),
|
| - 'target_platform': self.target_platform,
|
| - 'compile_warnings_as_errors': self.warnings_as_errors,
|
| - }
|
| - args.update(self.extra_factory_args)
|
| - return args
|
| -
|
| -
|
| -class HousekeepingBuilder(BaseBuilder, HousekeepingBuilderConfig):
|
| -
|
| - role = builder_name_schema.BUILDER_ROLE_HOUSEKEEPER
|
| -
|
| - @property
|
| - def factory_args(self):
|
| - args = {'target_platform': self.target_platform}
|
| - args.update(self.extra_factory_args)
|
| - return args
|
| -
|
| -
|
| -class CanaryBuilder(BaseBuilder, CanaryBuilderConfig):
|
| -
|
| - role = builder_name_schema.BUILDER_ROLE_CANARY
|
| -
|
| - @property
|
| - def factory_args(self):
|
| - args = {
|
| - 'gyp_defines': eval(self.gyp_defines or 'None'),
|
| - 'target_platform': self.target_platform,
|
| - 'build_subdir': self.build_subdir,
|
| - }
|
| - args.update(self.extra_factory_args)
|
| - return args
|
| -
|
| -
|
| -def setup_builders_from_config_list(builder_specs, helper,
|
| - do_upload_render_results,
|
| - do_upload_bench_results, builder_format):
|
| - """Takes a list of tuples describing builders and creates actual builders.
|
| -
|
| - Args:
|
| - builder_specs: list of tuples following the one of the above formats.
|
| - helper: instance of utils.SkiaHelper
|
| - do_upload_render_results: bool; whether the builders should upload their
|
| - render results.
|
| - do_upload_bench_results: bool; whether the builders should upload their
|
| - bench results.
|
| - builder_format: one of the above formats.
|
| - """
|
| - for builder_tuple in sorted(builder_specs):
|
| - builder = builder_format(*builder_tuple)
|
| - builder.create(helper, do_upload_render_results, do_upload_bench_results)
|
| -
|
| -
|
| -
|
| -def setup_test_and_perf_builders(helper, do_upload_render_results,
|
| - do_upload_bench_results):
|
| - """Set up the Test and Perf builders.
|
| -
|
| - Args:
|
| - helper: instance of utils.SkiaHelper
|
| - do_upload_render_results: bool; whether the builders should upload their
|
| - render results.
|
| - do_upload_bench_results: bool; whether the builders should upload their
|
| - bench results.
|
| - """
|
| - #
|
| - # TEST AND PERF BUILDERS
|
| - #
|
| - # Role, OS, Model, GPU, Arch, Config, Extra Config, GYP_DEFS, Factory, Target, Scheduler, Extra Args
|
| - #
|
| - builder_specs = [
|
| - ('Test', 'Ubuntu12', 'ShuttleA', 'GTX660', 'x86', 'Debug', None, None, f_factory, LINUX, S_PERCOMMIT, {}),
|
| - ('Test', 'Ubuntu12', 'ShuttleA', 'GTX660', 'x86', 'Release', None, None, f_factory, LINUX, S_PERCOMMIT, {}),
|
| - ('Perf', 'Ubuntu12', 'ShuttleA', 'GTX660', 'x86', 'Release', None, None, f_factory, LINUX, S_PERCOMMIT, {}),
|
| - ('Test', 'Ubuntu12', 'ShuttleA', 'GTX660', 'x86_64', 'Debug', None, None, f_factory, LINUX, S_PERCOMMIT, {}),
|
| - ('Test', 'Ubuntu12', 'ShuttleA', 'GTX660', 'x86_64', 'Release', None, None, f_factory, LINUX, S_PERCOMMIT, {}),
|
| - ('Perf', 'Ubuntu12', 'ShuttleA', 'GTX660', 'x86_64', 'Release', None, None, f_factory, LINUX, S_PERCOMMIT, {}),
|
| - ('Test', 'Ubuntu12', 'ShuttleA', 'GTX550Ti', 'x86_64', 'Debug', 'ZeroGPUCache', None, f_factory, LINUX, S_PERCOMMIT, {}),
|
| - ('Test', 'Ubuntu12', 'ShuttleA', 'GTX550Ti', 'x86_64', 'Release', 'Valgrind', VALGRIND, f_factory, LINUX, S_PERCOMMIT, {'flavor': 'valgrind'}),
|
| - ('Test', 'Ubuntu13.10', 'GCE', 'NoGPU', 'x86_64', 'Debug', None, NO_GPU, f_factory, LINUX, S_PERCOMMIT, {}),
|
| - ('Test', 'Ubuntu13.10', 'GCE', 'NoGPU', 'x86_64', 'Release', 'Shared', NO_GPU_SHARED, f_factory, LINUX, S_PERCOMMIT, {}),
|
| - ('Test', 'Ubuntu13.10', 'GCE', 'NoGPU', 'x86_64', 'Debug', 'ASAN', NO_GPU, f_xsan, LINUX, S_PERCOMMIT, {'sanitizer': 'address'}),
|
| - ('Test', 'Ubuntu13.10', 'GCE', 'NoGPU', 'x86_64', 'Release', 'TSAN', NO_GPU, f_xsan, LINUX, S_PERCOMMIT, {'sanitizer': 'thread'}),
|
| - ('Test', 'Mac10.6', 'MacMini4.1', 'GeForce320M', 'x86_64', 'Debug', None, None, f_factory, MAC, S_PERCOMMIT, {}),
|
| - ('Test', 'Mac10.6', 'MacMini4.1', 'GeForce320M', 'x86_64', 'Release', None, None, f_factory, MAC, S_PERCOMMIT, {}),
|
| - ('Test', 'Mac10.7', 'MacMini4.1', 'GeForce320M', 'x86_64', 'Debug', None, None, f_factory, MAC, S_PERCOMMIT, {}),
|
| - ('Test', 'Mac10.7', 'MacMini4.1', 'GeForce320M', 'x86_64', 'Release', None, None, f_factory, MAC, S_PERCOMMIT, {}),
|
| - ('Perf', 'Mac10.7', 'MacMini4.1', 'GeForce320M', 'x86_64', 'Release', None, None, f_factory, MAC, S_PERCOMMIT, {}),
|
| - ('Test', 'Mac10.8', 'MacMini4.1', 'GeForce320M', 'x86_64', 'Debug', None, None, f_factory, MAC, S_PERCOMMIT, {}),
|
| - ('Test', 'Mac10.8', 'MacMini4.1', 'GeForce320M', 'x86_64', 'Release', None, PDFVIEWER, f_factory, MAC, S_PERCOMMIT, {}),
|
| - ('Perf', 'Mac10.8', 'MacMini4.1', 'GeForce320M', 'x86_64', 'Release', None, PDFVIEWER, f_factory, MAC, S_PERCOMMIT, {}),
|
| - ('Test', 'Win7', 'ShuttleA', 'HD2000', 'x86', 'Debug', None, GYP_WIN7, f_factory, WIN32, S_PERCOMMIT, {}),
|
| - ('Test', 'Win7', 'ShuttleA', 'HD2000', 'x86', 'Release', None, GYP_WIN7, f_factory, WIN32, S_PERCOMMIT, {}),
|
| - ('Perf', 'Win7', 'ShuttleA', 'HD2000', 'x86', 'Release', None, GYP_WIN7, f_factory, WIN32, S_PERCOMMIT, {}),
|
| - ('Test', 'Win7', 'ShuttleA', 'HD2000', 'x86_64', 'Debug', None, GYP_WIN7, f_factory, WIN32, S_PERCOMMIT, {}),
|
| - ('Test', 'Win7', 'ShuttleA', 'HD2000', 'x86_64', 'Release', None, GYP_WIN7, f_factory, WIN32, S_PERCOMMIT, {}),
|
| - ('Perf', 'Win7', 'ShuttleA', 'HD2000', 'x86_64', 'Release', None, GYP_WIN7, f_factory, WIN32, S_PERCOMMIT, {}),
|
| - ('Test', 'Win7', 'ShuttleA', 'HD2000', 'x86', 'Debug', 'ANGLE', GYP_ANGLE, f_factory, WIN32, S_PERCOMMIT, {}),
|
| - ('Test', 'Win7', 'ShuttleA', 'HD2000', 'x86', 'Release', 'ANGLE', GYP_ANGLE, f_factory, WIN32, S_PERCOMMIT, {}),
|
| - ('Perf', 'Win7', 'ShuttleA', 'HD2000', 'x86', 'Release', 'ANGLE', GYP_ANGLE, f_factory, WIN32, S_PERCOMMIT, {}),
|
| - ('Test', 'Win7', 'ShuttleA', 'HD2000', 'x86', 'Debug', 'GDI', GYP_GDI, f_factory, WIN32, S_PERCOMMIT, {}),
|
| - ('Test', 'Win7', 'ShuttleA', 'HD2000', 'x86', 'Release', 'GDI', GYP_GDI, f_factory, WIN32, S_PERCOMMIT, {}),
|
| - ('Perf', 'Win7', 'ShuttleA', 'HD2000', 'x86', 'Release', 'GDI', GYP_GDI, f_factory, WIN32, S_PERCOMMIT, {}),
|
| - ('Test', 'Win8', 'ShuttleA', 'GTX660', 'x86', 'Debug', None, GYP_WIN8, f_factory, WIN32, S_PERCOMMIT, {'build_targets': ['most']}),
|
| - ('Test', 'Win8', 'ShuttleA', 'GTX660', 'x86', 'Release', None, GYP_WIN8, f_factory, WIN32, S_PERCOMMIT, {'build_targets': ['most']}),
|
| - ('Perf', 'Win8', 'ShuttleA', 'GTX660', 'x86', 'Release', None, GYP_WIN8, f_factory, WIN32, S_PERCOMMIT, {'build_targets': ['most']}),
|
| - ('Test', 'Win8', 'ShuttleA', 'GTX660', 'x86_64', 'Debug', None, GYP_WIN8, f_factory, WIN32, S_PERCOMMIT, {'build_targets': ['most']}),
|
| - ('Test', 'Win8', 'ShuttleA', 'GTX660', 'x86_64', 'Release', None, GYP_WIN8, f_factory, WIN32, S_PERCOMMIT, {'build_targets': ['most']}),
|
| - ('Perf', 'Win8', 'ShuttleA', 'GTX660', 'x86_64', 'Release', None, GYP_WIN8, f_factory, WIN32, S_PERCOMMIT, {'build_targets': ['most']}),
|
| - ('Test', 'Win8', 'ShuttleA', 'HD7770', 'x86', 'Debug', None, GYP_WIN8, f_factory, WIN32, S_PERCOMMIT, {'build_targets': ['most']}),
|
| - ('Test', 'Win8', 'ShuttleA', 'HD7770', 'x86', 'Release', None, GYP_WIN8, f_factory, WIN32, S_PERCOMMIT, {'build_targets': ['most']}),
|
| - ('Perf', 'Win8', 'ShuttleA', 'HD7770', 'x86', 'Release', None, GYP_WIN8, f_factory, WIN32, S_PERCOMMIT, {'build_targets': ['most']}),
|
| - ('Test', 'Win8', 'ShuttleA', 'HD7770', 'x86_64', 'Debug', None, GYP_WIN8, f_factory, WIN32, S_PERCOMMIT, {'build_targets': ['most']}),
|
| - ('Test', 'Win8', 'ShuttleA', 'HD7770', 'x86_64', 'Release', None, GYP_WIN8, f_factory, WIN32, S_PERCOMMIT, {'build_targets': ['most']}),
|
| - ('Perf', 'Win8', 'ShuttleA', 'HD7770', 'x86_64', 'Release', None, GYP_WIN8, f_factory, WIN32, S_PERCOMMIT, {'build_targets': ['most']}),
|
| - ('Test', 'ChromeOS', 'Alex', 'GMA3150', 'x86', 'Debug', None, None, f_cros, LINUX, S_PERCOMMIT, {'board': 'x86-alex'}),
|
| - ('Test', 'ChromeOS', 'Alex', 'GMA3150', 'x86', 'Release', None, None, f_cros, LINUX, S_PERCOMMIT, {'board': 'x86-alex'}),
|
| - ('Perf', 'ChromeOS', 'Alex', 'GMA3150', 'x86', 'Release', None, None, f_cros, LINUX, S_PERCOMMIT, {'board': 'x86-alex'}),
|
| - ('Test', 'ChromeOS', 'Link', 'HD4000', 'x86_64', 'Debug', None, None, f_cros, LINUX, S_PERCOMMIT, {'board': 'link'}),
|
| - ('Test', 'ChromeOS', 'Link', 'HD4000', 'x86_64', 'Release', None, None, f_cros, LINUX, S_PERCOMMIT, {'board': 'link'}),
|
| - ('Perf', 'ChromeOS', 'Link', 'HD4000', 'x86_64', 'Release', None, None, f_cros, LINUX, S_PERCOMMIT, {'board': 'link'}),
|
| - ('Test', 'ChromeOS', 'Daisy', 'MaliT604', 'Arm7', 'Debug', None, None, f_cros, LINUX, S_PERCOMMIT, {'board': 'daisy'}),
|
| - ('Test', 'ChromeOS', 'Daisy', 'MaliT604', 'Arm7', 'Release', None, None, f_cros, LINUX, S_PERCOMMIT, {'board': 'daisy'}),
|
| - ('Perf', 'ChromeOS', 'Daisy', 'MaliT604', 'Arm7', 'Release', None, None, f_cros, LINUX, S_PERCOMMIT, {'board': 'daisy'}),
|
| - ]
|
| -
|
| - setup_builders_from_config_list(builder_specs, helper,
|
| - do_upload_render_results,
|
| - do_upload_bench_results, Builder)
|
| -
|
| -
|
| -def setup_canaries(helper, do_upload_render_results, do_upload_bench_results):
|
| - """Set up the Canary builders.
|
| -
|
| - Args:
|
| - helper: instance of utils.SkiaHelper
|
| - do_upload_render_results: bool; whether the builders should upload their
|
| - render results.
|
| - do_upload_bench_results: bool; whether the builders should upload their
|
| - bench results.
|
| - """
|
| - # Targets which we think are important for the Chrome canaries. Discussion:
|
| - # https://code.google.com/p/skia/issues/detail?id=2227
|
| - common_chrome_build_targets = [
|
| - 'chrome', 'base_unittests', 'cacheinvalidation_unittests',
|
| - 'cc_unittests', 'chromedriver_unittests', 'components_unittests',
|
| - 'content_unittests', 'crypto_unittests', 'google_apis_unittests',
|
| - 'gpu_unittests', 'ipc_tests', 'jingle_unittests', 'media_unittests',
|
| - 'net_unittests', 'ppapi_unittests', 'printing_unittests',
|
| - 'remoting_unittests', 'sql_unittests', 'sync_unit_tests', 'ui_unittests',
|
| - 'unit_tests', 'content_browsertests', 'interactive_ui_tests',
|
| - 'sync_integration_tests'
|
| - ]
|
| - # browser_tests fails on the windows canary. More details in
|
| - # https://code.google.com/p/skia/issues/detail?id=2863
|
| - linux_chrome_build_targets = common_chrome_build_targets + ['browser_tests']
|
| - win_chrome_build_targets = common_chrome_build_targets
|
| - #
|
| - # CANARY BUILDERS
|
| - #
|
| - # Project, OS, Compiler,Arch, Configuration, Flavor, Workdir,GYP_DEFINES,Factory, Target, Scheduler, Extra Args
|
| - #
|
| - canaries = [
|
| - ('Chrome', 'Ubuntu13.10', 'Ninja', 'x86_64', 'DRT', None, 'src', None, f_drt, LINUX, S_PERCOMMIT, {'path_to_skia': ['third_party', 'skia']}),
|
| - ('Chrome', 'Ubuntu13.10', 'Ninja', 'x86_64', 'ToT', 'chrome', 'src', None, f_canary, LINUX, S_PERCOMMIT, {'flavor': 'chrome', 'build_targets': linux_chrome_build_targets, 'path_to_skia': ['third_party', 'skia']}),
|
| - ('Chrome', 'Win', 'Ninja', 'x86', 'SharedLib_ToT', 'chrome', 'src', GYP_SHARED, f_canary, WIN32, S_PERCOMMIT, {'flavor': 'chrome', 'build_targets': win_chrome_build_targets, 'path_to_skia': ['third_party', 'skia']}),
|
| - ]
|
| -
|
| - setup_builders_from_config_list(canaries, helper, do_upload_render_results,
|
| - do_upload_bench_results, CanaryBuilder)
|
| -
|
| -
|
| -def setup_all_builders(helper, do_upload_render_results,
|
| - do_upload_bench_results):
|
| - """Set up all builders for this master.
|
| -
|
| - Args:
|
| - helper: instance of utils.SkiaHelper
|
| - do_upload_render_results: bool; whether the builders should upload their
|
| - render results.
|
| - do_upload_bench_results: bool; whether the builders should upload their
|
| - bench results.
|
| - """
|
| - setup_test_and_perf_builders(
|
| - helper=helper,
|
| - do_upload_render_results=do_upload_render_results,
|
| - do_upload_bench_results=do_upload_bench_results)
|
| - setup_canaries(helper=helper,
|
| - do_upload_render_results=do_upload_render_results,
|
| - do_upload_bench_results=do_upload_bench_results)
|
| -
|
| -
|
| -def create_schedulers_and_builders(config, active_master, cfg,
|
| - builder_setup_func=setup_all_builders):
|
| - """Create the Schedulers and Builders.
|
| -
|
| - Args:
|
| - config: buildbot config module.
|
| - active_master: class of the current build master.
|
| - cfg: dict; configuration dict for the build master.
|
| - builder_setup_func: function to call which sets up the builders for this
|
| - master. Defaults to setup_all_builders.
|
| - """
|
| - helper = utils.SkiaHelper(defaults)
|
| -
|
| - # Default (per-commit) Scheduler for Skia.
|
| - helper.Scheduler(S_PERCOMMIT)
|
| -
|
| - # Nightly Scheduler for Skia. The buildbot master follows UTC.
|
| - # Setting it to 3AM UTC (10 PM EST).
|
| - helper.PeriodicScheduler(S_NIGHTLY, minute=0, hour=3)
|
| -
|
| - # Scheduler which fires every 15 minutes.
|
| - frequency_mins = 15
|
| - minutes = [i*frequency_mins for i in xrange(60/frequency_mins)]
|
| - helper.PeriodicScheduler(S_15MINS, minute=minutes)
|
| -
|
| - # Schedulers for Skia trybots.
|
| - helper.TryJobSubversion(utils.TRY_SCHEDULER_SVN)
|
| - helper.TryJobRietveld(utils.TRY_SCHEDULER_RIETVELD)
|
| -
|
| - # Call the passed-in builder setup function.
|
| - builder_setup_func(
|
| - helper=helper,
|
| - # TODO(epoger): Maybe pass the following "tweaks" as a single object,
|
| - # rather than requiring us to list them all out?
|
| - #
|
| - # To resolve https://code.google.com/p/skia/issues/detail?id=2432
|
| - # ('buildbots: don't run UpdateScripts if running on non-production
|
| - # master'), I wanted to add a third boolean flag (do_update_scripts),
|
| - # but I saw that I would need to add it in so many places I was
|
| - # discouraged. If the merged all the flags into a single object it
|
| - # would be easier to add more flags.
|
| - do_upload_render_results=active_master.do_upload_render_results,
|
| - do_upload_bench_results=active_master.do_upload_bench_results)
|
| -
|
| - return helper.Update(cfg)
|
|
|