| Index: master/skia_master_scripts/utils.py
|
| ===================================================================
|
| --- master/skia_master_scripts/utils.py (revision 8794)
|
| +++ master/skia_master_scripts/utils.py (working copy)
|
| @@ -34,8 +34,9 @@
|
| import config_private
|
|
|
|
|
| +BUILDER_NAME_SEP = '-'
|
| CATEGORY_BUILD = ' Build'
|
| -TRYBOT_NAME_SUFFIX = '_Trybot'
|
| +TRYBOT_NAME_SUFFIX = 'Trybot'
|
| TRY_SCHEDULER_SVN = 'skia_try_svn'
|
| TRY_SCHEDULER_RIETVELD = 'skia_try_rietveld'
|
| TRY_SCHEDULERS = [TRY_SCHEDULER_SVN, TRY_SCHEDULER_RIETVELD]
|
| @@ -367,42 +368,73 @@
|
| skia_all_subdirs = all_subdirs
|
|
|
|
|
| -def MakeBuilderName(builder_base_name, config):
|
| - """ Inserts config into builder_base_name at '%s', or if builder_base_name
|
| - does not contain '%s', appends config to the end of builder_base_name,
|
| - separated by an underscore. """
|
| - try:
|
| - return builder_base_name % config
|
| - except TypeError:
|
| - # If builder_base_name does not contain '%s'
|
| - return '%s_%s' % (builder_base_name, config)
|
| +class BuilderProperties:
|
| + def __init__(self, os, version, arch_width, model, gpu, role=None,
|
| + extra_config=None):
|
| + self.os = os
|
| + self.version = version
|
| + self.arch_width = arch_width
|
| + self.model = model
|
| + self.gpu = gpu
|
| + self.role = role
|
| + self.extra_config = extra_config
|
|
|
|
|
| -def MakeCompileBuilderName(builder_base_name, release=False):
|
| +def MakeBuilderName(builder_props, is_trybot=False):
|
| + """ Construct a builder name from a set of builder properties. """
|
| + if not isinstance(builder_props, BuilderProperties):
|
| + raise ValueError('MakeBuilderName must be provided an instance of '
|
| + 'BuilderProperties.')
|
| + os_version = '_'.join((builder_props.os, builder_props.version)) \
|
| + if builder_props.version else builder_props.os
|
| + name_parts = [os_version, builder_props.model, builder_props.gpu,
|
| + builder_props.role, builder_props.arch_width]
|
| + if builder_props.extra_config:
|
| + name_parts.append(builder_props.extra_config)
|
| + if is_trybot:
|
| + name_parts.append(TRYBOT_NAME_SUFFIX)
|
| + builder_name = ''
|
| + for part in name_parts:
|
| + if not part:
|
| + part = 'x'
|
| + if BUILDER_NAME_SEP in part:
|
| + raise ValueError('%s is not legal in %s' % (BUILDER_NAME_SEP, part))
|
| + if builder_name:
|
| + builder_name += BUILDER_NAME_SEP + part
|
| + else:
|
| + builder_name += part
|
| + return builder_name
|
| +
|
| +
|
| +def MakeCompileBuilderName(builder_props, release=False, **kwargs):
|
| if release:
|
| - compile_name = 'Compile_Release'
|
| + builder_props.role = 'ReleaseCompile'
|
| else:
|
| - compile_name = 'Compile_Debug'
|
| - return MakeBuilderName(builder_base_name, compile_name)
|
| + builder_props.role = 'DebugCompile'
|
| + return MakeBuilderName(builder_props, **kwargs)
|
|
|
|
|
| -def MakeDebugBuilderName(builder_base_name):
|
| - return MakeBuilderName(builder_base_name, skia_factory.CONFIG_DEBUG)
|
| +def MakeDebugBuilderName(builder_props, **kwargs):
|
| + builder_props.role = skia_factory.CONFIG_DEBUG
|
| + return MakeBuilderName(builder_props, **kwargs)
|
|
|
|
|
| -def MakeReleaseBuilderName(builder_base_name):
|
| - return MakeBuilderName(builder_base_name, skia_factory.CONFIG_RELEASE)
|
| +def MakeReleaseBuilderName(builder_props, **kwargs):
|
| + builder_props.role = skia_factory.CONFIG_RELEASE
|
| + return MakeBuilderName(builder_props, **kwargs)
|
|
|
|
|
| -def MakeBenchBuilderName(builder_base_name):
|
| - return MakeBuilderName(builder_base_name, skia_factory.CONFIG_BENCH)
|
| +def MakeBenchBuilderName(builder_props, **kwargs):
|
| + builder_props.role = skia_factory.CONFIG_BENCH
|
| + return MakeBuilderName(builder_props, **kwargs)
|
|
|
|
|
| -def MakeSchedulerName(builder_base_name):
|
| - return MakeBuilderName(builder_base_name, 'Scheduler')
|
| +def MakeSchedulerName(builder_props, **kwargs):
|
| + builder_props.role = 'Scheduler'
|
| + return MakeBuilderName(builder_props, **kwargs)
|
|
|
|
|
| -def _MakeBuilderSet(helper, builder_base_name, gm_image_subdir,
|
| +def _MakeBuilderSet(helper, builder_props, gm_image_subdir,
|
| perf_output_basedir=None, extra_branches=None,
|
| factory_type=None, do_compile=True, do_debug=True,
|
| do_release=True, do_bench=True, try_schedulers=None,
|
| @@ -419,20 +451,20 @@
|
| if not extra_branches:
|
| extra_branches = []
|
| subdirs_to_checkout = set(extra_branches)
|
| + is_trybot = try_schedulers is not None
|
| if gm_image_subdir:
|
| gm_image_branch = 'gm-expected/%s' % gm_image_subdir
|
| subdirs_to_checkout.add(gm_image_branch)
|
| -
|
| if try_schedulers:
|
| scheduler_name = '|'.join(try_schedulers)
|
| - builder_base_name = builder_base_name + TRYBOT_NAME_SUFFIX
|
| else:
|
| - scheduler_name = MakeSchedulerName(builder_base_name)
|
| + scheduler_name = MakeSchedulerName(builder_props)
|
| branches = list(subdirs_to_checkout.union(SKIA_PRIMARY_SUBDIRS))
|
| helper.AnyBranchScheduler(scheduler_name, branches=branches)
|
|
|
| if do_compile:
|
| - compile_debug_builder_name = MakeCompileBuilderName(builder_base_name,
|
| + compile_debug_builder_name = MakeCompileBuilderName(builder_props,
|
| + is_trybot=is_trybot,
|
| release=False)
|
| B(compile_debug_builder_name, 'f_%s' % compile_debug_builder_name,
|
| # Do not add gatekeeper for trybots.
|
| @@ -443,12 +475,13 @@
|
| other_subdirs=subdirs_to_checkout,
|
| configuration=skia_factory.CONFIG_DEBUG,
|
| gm_image_subdir=gm_image_subdir,
|
| - do_patch_step=(try_schedulers is not None),
|
| + do_patch_step=is_trybot,
|
| perf_output_basedir=None,
|
| compile_warnings_as_errors=compile_bot_warnings_as_errors,
|
| **kwargs
|
| ).BuildCompileOnly())
|
| - compile_release_builder_name = MakeCompileBuilderName(builder_base_name,
|
| + compile_release_builder_name = MakeCompileBuilderName(builder_props,
|
| + is_trybot=is_trybot,
|
| release=True)
|
| B(compile_release_builder_name, 'f_%s' % compile_release_builder_name,
|
| # Do not add gatekeeper for trybots.
|
| @@ -459,14 +492,15 @@
|
| other_subdirs=subdirs_to_checkout,
|
| configuration=skia_factory.CONFIG_RELEASE,
|
| gm_image_subdir=gm_image_subdir,
|
| - do_patch_step=(try_schedulers is not None),
|
| + do_patch_step=is_trybot,
|
| perf_output_basedir=None,
|
| compile_warnings_as_errors=compile_bot_warnings_as_errors,
|
| **kwargs
|
| ).BuildCompileOnly())
|
|
|
| if do_debug:
|
| - debug_builder_name = MakeDebugBuilderName(builder_base_name)
|
| + debug_builder_name = MakeDebugBuilderName(builder_props,
|
| + is_trybot=is_trybot)
|
| B(debug_builder_name, 'f_%s' % debug_builder_name,
|
| scheduler=scheduler_name)
|
| F('f_%s' % debug_builder_name, factory_type(
|
| @@ -474,14 +508,15 @@
|
| other_subdirs=subdirs_to_checkout,
|
| configuration=skia_factory.CONFIG_DEBUG,
|
| gm_image_subdir=gm_image_subdir,
|
| - do_patch_step=(try_schedulers is not None),
|
| + do_patch_step=is_trybot,
|
| perf_output_basedir=None,
|
| compile_warnings_as_errors=False,
|
| **kwargs
|
| ).Build())
|
|
|
| if do_release:
|
| - no_perf_builder_name = MakeReleaseBuilderName(builder_base_name)
|
| + no_perf_builder_name = MakeReleaseBuilderName(builder_props,
|
| + is_trybot=is_trybot)
|
| B(no_perf_builder_name, 'f_%s' % no_perf_builder_name,
|
| scheduler=scheduler_name)
|
| F('f_%s' % no_perf_builder_name, factory_type(
|
| @@ -489,14 +524,15 @@
|
| other_subdirs=subdirs_to_checkout,
|
| configuration=skia_factory.CONFIG_RELEASE,
|
| gm_image_subdir=gm_image_subdir,
|
| - do_patch_step=(try_schedulers is not None),
|
| + do_patch_step=is_trybot,
|
| perf_output_basedir=None,
|
| compile_warnings_as_errors=False,
|
| **kwargs
|
| ).BuildNoPerf())
|
|
|
| if do_bench:
|
| - perf_builder_name = MakeBenchBuilderName(builder_base_name)
|
| + perf_builder_name = MakeBenchBuilderName(builder_props,
|
| + is_trybot=is_trybot)
|
| B(perf_builder_name, 'f_%s' % perf_builder_name,
|
| scheduler=scheduler_name)
|
| F('f_%s' % perf_builder_name, factory_type(
|
| @@ -504,7 +540,7 @@
|
| other_subdirs=subdirs_to_checkout,
|
| configuration=skia_factory.CONFIG_RELEASE,
|
| gm_image_subdir=gm_image_subdir,
|
| - do_patch_step=(try_schedulers is not None),
|
| + do_patch_step=is_trybot,
|
| perf_output_basedir=perf_output_basedir,
|
| compile_warnings_as_errors=False,
|
| **kwargs
|
| @@ -527,18 +563,19 @@
|
|
|
| builder_factory_scheduler = [
|
| # The Percommit housekeeper
|
| - ('Skia_PerCommit_House_Keeping',
|
| + ('PerCommit-Housekeeping',
|
| housekeeping_percommit_factory.HouseKeepingPerCommitFactory,
|
| 'skia_rel'),
|
| # The Periodic housekeeper
|
| - ('Skia_Periodic_House_Keeping',
|
| + ('Periodic-Housekeeping',
|
| housekeeping_periodic_factory.HouseKeepingPeriodicFactory,
|
| 'skia_periodic'),
|
| ]
|
| if do_trybots:
|
| # Add the corresponding trybot builders to the above list.
|
| builder_factory_scheduler.extend([
|
| - (builder + TRYBOT_NAME_SUFFIX, factory, TRY_SCHEDULERS_STR)
|
| + (builder + BUILDER_NAME_SEP + TRYBOT_NAME_SUFFIX, factory,
|
| + TRY_SCHEDULERS_STR)
|
| for (builder, factory, _scheduler) in builder_factory_scheduler])
|
|
|
| for (builder_name, factory, scheduler) in builder_factory_scheduler:
|
|
|