Chromium Code Reviews| Index: master/skia_master_scripts/utils.py |
| =================================================================== |
| --- master/skia_master_scripts/utils.py (revision 8570) |
| +++ master/skia_master_scripts/utils.py (working copy) |
| @@ -34,8 +34,9 @@ |
| import config_private |
| +BUILDER_NAME_SEP = '-' |
|
borenet
2013/04/09 16:31:46
Changed from the '_' which we used before to separ
epoger
2013/04/09 17:38:36
Agreed.
|
| 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,51 @@ |
| 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) |
| +def MakeBuilderName(os, version, arch_width, hardware, role, extra_config=None, |
| + is_trybot=False): |
| + """ Construct a builder name from an OS, version, hardware, configuration, and |
| + builder role. """ |
| + name_parts = [os, version, arch_width, hardware] |
| + if extra_config: |
| + if BUILDER_NAME_SEP in extra_config: |
| + raise ValueError('%s is not legal in %s' % (BUILDER_NAME_SEP, |
| + extra_config)) |
|
borenet
2013/04/09 16:31:46
I already removed this duplicate check.
|
| + name_parts.append(extra_config) |
| + name_parts.append(role) |
| + if is_trybot: |
| + name_parts.append(TRYBOT_NAME_SUFFIX) |
| + for part in name_parts: |
| + if BUILDER_NAME_SEP in part: |
| + raise ValueError('%s is not legal in %s' % (BUILDER_NAME_SEP, part)) |
| + return BUILDER_NAME_SEP.join(name_parts) |
| -def MakeCompileBuilderName(builder_base_name, release=False): |
| +def MakeCompileBuilderName(release=False, **kwargs): |
| if release: |
| - compile_name = 'Compile_Release' |
| + compile_name = 'ReleaseCompile' |
| else: |
| - compile_name = 'Compile_Debug' |
| - return MakeBuilderName(builder_base_name, compile_name) |
| + compile_name = 'DebugCompile' |
| + return MakeBuilderName(role=compile_name, **kwargs) |
| -def MakeDebugBuilderName(builder_base_name): |
| - return MakeBuilderName(builder_base_name, skia_factory.CONFIG_DEBUG) |
| +def MakeDebugBuilderName(**kwargs): |
| + return MakeBuilderName(role=skia_factory.CONFIG_DEBUG, **kwargs) |
| -def MakeReleaseBuilderName(builder_base_name): |
| - return MakeBuilderName(builder_base_name, skia_factory.CONFIG_RELEASE) |
| +def MakeReleaseBuilderName(**kwargs): |
| + return MakeBuilderName(role=skia_factory.CONFIG_RELEASE, **kwargs) |
| -def MakeBenchBuilderName(builder_base_name): |
| - return MakeBuilderName(builder_base_name, skia_factory.CONFIG_BENCH) |
| +def MakeBenchBuilderName(**kwargs): |
| + return MakeBuilderName(role=skia_factory.CONFIG_BENCH, **kwargs) |
| -def MakeSchedulerName(builder_base_name): |
| - return MakeBuilderName(builder_base_name, 'Scheduler') |
| +def MakeSchedulerName(**kwargs): |
| + return MakeBuilderName(role='Scheduler', **kwargs) |
| -def _MakeBuilderSet(helper, builder_base_name, gm_image_subdir, |
| +def _MakeBuilderSet(helper, os, version, arch_width, hardware, |
| + gm_image_subdir, extra_config=None, |
|
borenet
2013/04/09 16:31:46
Passing these extra parameters is annoying, partic
|
| 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,21 +429,30 @@ |
| 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(os=os, |
| + version=version, |
| + arch_width=arch_width, |
| + hardware=hardware, |
| + extra_config=extra_config) |
| 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, |
| - release=False) |
| + compile_debug_builder_name = MakeCompileBuilderName( |
| + os=os, |
| + version=version, |
| + arch_width=arch_width, |
| + hardware=hardware, |
| + extra_config=extra_config, |
| + is_trybot=is_trybot, |
| + release=False) |
| B(compile_debug_builder_name, 'f_%s' % compile_debug_builder_name, |
| # Do not add gatekeeper for trybots. |
| gatekeeper='GateKeeper' if try_schedulers is None else None, |
| @@ -443,13 +462,19 @@ |
| 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, |
| - release=True) |
| + compile_release_builder_name = MakeCompileBuilderName( |
| + os=os, |
| + version=version, |
| + arch_width=arch_width, |
| + hardware=hardware, |
| + extra_config=extra_config, |
| + is_trybot=is_trybot, |
| + release=True) |
| B(compile_release_builder_name, 'f_%s' % compile_release_builder_name, |
| # Do not add gatekeeper for trybots. |
| gatekeeper='GateKeeper' if try_schedulers is None else None, |
| @@ -459,14 +484,19 @@ |
| 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(os=os, |
| + version=version, |
| + arch_width=arch_width, |
| + hardware=hardware, |
| + extra_config=extra_config, |
| + 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 +504,19 @@ |
| 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(os=os, |
| + version=version, |
| + arch_width=arch_width, |
| + hardware=hardware, |
| + extra_config=extra_config, |
| + 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,19 @@ |
| 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(os=os, |
| + version=version, |
| + arch_width=arch_width, |
| + hardware=hardware, |
| + extra_config=extra_config, |
| + 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 +544,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 +567,19 @@ |
| builder_factory_scheduler = [ |
| # The Percommit housekeeper |
| - ('Skia_PerCommit_House_Keeping', |
| + ('PerCommit-Housekeeping', |
|
borenet
2013/04/09 16:31:46
I'd really like to make the housekeepers conform t
|
| 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: |