Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(796)

Side by Side Diff: buildbot/master/skia_master_scripts/factory.py

Issue 23001003: Remove base-* directories from gm expected/actual paths; just use platform names (Closed) Base URL: http://skia.googlecode.com/svn/
Patch Set: buildbot_slave Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 5
6 """Utility class to build the Skia master BuildFactory's. 6 """Utility class to build the Skia master BuildFactory's.
7 7
8 Based on gclient_factory.py and adds Skia-specific steps.""" 8 Based on gclient_factory.py and adds Skia-specific steps."""
9 9
10 10
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 _COMPILE_NO_WERR_PREFIX = 'Retry_NoWarningsAsErrors_' + _COMPILE_STEP_PREFIX 43 _COMPILE_NO_WERR_PREFIX = 'Retry_NoWarningsAsErrors_' + _COMPILE_STEP_PREFIX
44 44
45 45
46 class SkiaFactory(BuildFactory): 46 class SkiaFactory(BuildFactory):
47 """Encapsulates data and methods common to the Skia master.cfg files.""" 47 """Encapsulates data and methods common to the Skia master.cfg files."""
48 48
49 def __init__(self, other_subdirs=None, do_upload_results=False, 49 def __init__(self, other_subdirs=None, do_upload_results=False,
50 do_patch_step=False, build_subdir='trunk', 50 do_patch_step=False, build_subdir='trunk',
51 target_platform=None, configuration=CONFIG_DEBUG, 51 target_platform=None, configuration=CONFIG_DEBUG,
52 default_timeout=8*60*60, deps_target_os=None, 52 default_timeout=8*60*60, deps_target_os=None,
53 environment_variables=None, gm_image_subdir=None, 53 environment_variables=None,
54 perf_output_basedir=None, builder_name=None, flavor=None, 54 perf_output_basedir=None, builder_name=None, flavor=None,
55 make_flags=None, test_args=None, gm_args=None, bench_args=None, 55 make_flags=None, test_args=None, gm_args=None, bench_args=None,
56 bench_pictures_cfg='default', compile_warnings_as_errors=False, 56 bench_pictures_cfg='default', compile_warnings_as_errors=False,
57 gyp_defines=None, build_targets=None): 57 gyp_defines=None, build_targets=None):
58 """Instantiates a SkiaFactory as appropriate for this target_platform. 58 """Instantiates a SkiaFactory as appropriate for this target_platform.
59 59
60 do_upload_results: whether we should upload bench/gm results 60 do_upload_results: whether we should upload bench/gm results
61 do_patch_step: whether the build should include a step which applies a 61 do_patch_step: whether the build should include a step which applies a
62 patch. This is only applicable for trybots. 62 patch. This is only applicable for trybots.
63 build_subdir: subdirectory to check out and then build within 63 build_subdir: subdirectory to check out and then build within
64 other_subdirs: list of other subdirectories to also check out (or None) 64 other_subdirs: list of other subdirectories to also check out (or None)
65 target_platform: a string such as TARGET_PLATFORM_LINUX 65 target_platform: a string such as TARGET_PLATFORM_LINUX
66 configuration: 'Debug' or 'Release' 66 configuration: 'Debug' or 'Release'
67 default_timeout: default timeout for each command, in seconds 67 default_timeout: default timeout for each command, in seconds
68 deps_target_os: string; the target_os to be specified in the gclient config. 68 deps_target_os: string; the target_os to be specified in the gclient config.
69 environment_variables: dictionary of environment variables that should 69 environment_variables: dictionary of environment variables that should
70 be passed to all commands 70 be passed to all commands
71 gm_image_subdir: directory containing images for comparison against results
72 of gm tool
73 perf_output_basedir: path to directory under which to store performance 71 perf_output_basedir: path to directory under which to store performance
74 data, or None if we don't want to store performance data 72 data, or None if we don't want to store performance data
75 builder_name: name of the builder associated with this factory 73 builder_name: name of the builder associated with this factory
76 flavor: which "flavor" of slave-side scripts this factory should use 74 flavor: which "flavor" of slave-side scripts this factory should use
77 make_flags: list of extra flags to pass to the compile step 75 make_flags: list of extra flags to pass to the compile step
78 test_args: list of extra flags to pass to the 'tests' executable 76 test_args: list of extra flags to pass to the 'tests' executable
79 gm_args: list of extra flags to pass to the 'gm' executable 77 gm_args: list of extra flags to pass to the 'gm' executable
80 bench_args: list of extra flags to pass to the 'bench' executable 78 bench_args: list of extra flags to pass to the 'bench' executable
81 bench_pictures_cfg: config name to use for bench_pictures 79 bench_pictures_cfg: config name to use for bench_pictures
82 compile_warnings_as_errors: boolean; whether to build with "-Werror" or 80 compile_warnings_as_errors: boolean; whether to build with "-Werror" or
(...skipping 24 matching lines...) Expand all
107 subdirs_to_checkout = set(other_subdirs) 105 subdirs_to_checkout = set(other_subdirs)
108 106
109 # Trybots need to check out all of these directories. 107 # Trybots need to check out all of these directories.
110 for other_subdir in subdirs_to_checkout: 108 for other_subdir in subdirs_to_checkout:
111 self._gclient_solutions.append(gclient_factory.GClientSolution( 109 self._gclient_solutions.append(gclient_factory.GClientSolution(
112 svn_url=SKIA_SVN_BASEURL + '/' + other_subdir, 110 svn_url=SKIA_SVN_BASEURL + '/' + other_subdir,
113 name=other_subdir).GetSpec()) 111 name=other_subdir).GetSpec())
114 112
115 self._deps_target_os = deps_target_os 113 self._deps_target_os = deps_target_os
116 114
117 if gm_image_subdir:
118 properties['gm_image_subdir'] = gm_image_subdir
119
120 # Set _default_clobber based on config.Master 115 # Set _default_clobber based on config.Master
121 self._default_clobber = getattr(config.Master, 'default_clobber', False) 116 self._default_clobber = getattr(config.Master, 'default_clobber', False)
122 117
123 self._do_upload_results = do_upload_results 118 self._do_upload_results = do_upload_results
124 self._do_upload_bench_results = do_upload_results and \ 119 self._do_upload_bench_results = do_upload_results and \
125 perf_output_basedir != None 120 perf_output_basedir != None
126 self._do_patch_step = do_patch_step 121 self._do_patch_step = do_patch_step
127 122
128 if not environment_variables: 123 if not environment_variables:
129 self._env_vars = {} 124 self._env_vars = {}
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
178 if not gm_args: 173 if not gm_args:
179 gm_args = [] 174 gm_args = []
180 if not bench_args: 175 if not bench_args:
181 bench_args = [] 176 bench_args = []
182 177
183 self._common_args = [ 178 self._common_args = [
184 '--autogen_svn_baseurl', AUTOGEN_SVN_BASEURL, 179 '--autogen_svn_baseurl', AUTOGEN_SVN_BASEURL,
185 '--configuration', configuration, 180 '--configuration', configuration,
186 '--deps_target_os', self._deps_target_os or 'None', 181 '--deps_target_os', self._deps_target_os or 'None',
187 '--do_upload_results', str(self._do_upload_results), 182 '--do_upload_results', str(self._do_upload_results),
188 '--gm_image_subdir', gm_image_subdir or 'None',
189 '--builder_name', builder_name, 183 '--builder_name', builder_name,
190 '--target_platform', target_platform, 184 '--target_platform', target_platform,
191 '--revision', WithProperties('%(rev)s', rev=_DetermineRevision), 185 '--revision', WithProperties('%(rev)s', rev=_DetermineRevision),
192 '--got_revision', WithProperties('%(got_revision:-None)s'), 186 '--got_revision', WithProperties('%(got_revision:-None)s'),
193 '--perf_output_basedir', perf_output_basedir or 'None', 187 '--perf_output_basedir', perf_output_basedir or 'None',
194 '--make_flags', '"%s"' % ' '.join(self._make_flags), 188 '--make_flags', '"%s"' % ' '.join(self._make_flags),
195 '--test_args', '"%s"' % ' '.join(test_args), 189 '--test_args', '"%s"' % ' '.join(test_args),
196 '--gm_args', '"%s"' % ' '.join(gm_args), 190 '--gm_args', '"%s"' % ' '.join(gm_args),
197 '--bench_args', '"%s"' % ' '.join(bench_args), 191 '--bench_args', '"%s"' % ' '.join(bench_args),
198 '--num_cores', WithProperties('%(num_cores:-None)s'), 192 '--num_cores', WithProperties('%(num_cores:-None)s'),
(...skipping 294 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 def PreBench(self): 487 def PreBench(self):
494 """ Step to run before the benchmarking steps. """ 488 """ Step to run before the benchmarking steps. """
495 self.AddFlavoredSlaveScript(script='prebench.py', description='PreBench') 489 self.AddFlavoredSlaveScript(script='prebench.py', description='PreBench')
496 490
497 def PostBench(self): 491 def PostBench(self):
498 """ Step to run after the benchmarking steps. """ 492 """ Step to run after the benchmarking steps. """
499 self.AddFlavoredSlaveScript(script='postbench.py', description='PostBench') 493 self.AddFlavoredSlaveScript(script='postbench.py', description='PostBench')
500 494
501 def CompareGMs(self): 495 def CompareGMs(self):
502 """ Run the "skdiff" tool to compare the "actual" GM images we just 496 """ Run the "skdiff" tool to compare the "actual" GM images we just
503 generated to the baselines in _gm_image_subdir. """ 497 generated to the baselines for this builder_name. """
504 self.AddSlaveScript(script='compare_gms.py', description='CompareGMs', 498 self.AddSlaveScript(script='compare_gms.py', description='CompareGMs',
505 is_rebaseline_step=True) 499 is_rebaseline_step=True)
506 500
507 def CompareAndUploadWebpageGMs(self): 501 def CompareAndUploadWebpageGMs(self):
508 """ Run the "skdiff" tool to compare the "actual" GM images we just 502 """ Run the "skdiff" tool to compare the "actual" GM images we just
509 generated to the baselines in _gm_image_subdir and uploads the actual 503 generated to the baselines for this builder_name and uploads the actual
510 images if appropriate. """ 504 images if appropriate. """
511 self.AddSlaveScript(script='compare_and_upload_webpage_gms.py', 505 self.AddSlaveScript(script='compare_and_upload_webpage_gms.py',
512 description='CompareAndUploadWebpageGMs', 506 description='CompareAndUploadWebpageGMs',
513 is_rebaseline_step=True) 507 is_rebaseline_step=True)
514 508
515 def RunBench(self): 509 def RunBench(self):
516 """ Run "bench", piping the output somewhere so we can graph 510 """ Run "bench", piping the output somewhere so we can graph
517 results over time. """ 511 results over time. """
518 self.AddFlavoredSlaveScript(script='run_bench.py', description='RunBench') 512 self.AddFlavoredSlaveScript(script='run_bench.py', description='RunBench')
519 513
(...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 # Perf-only builder. 699 # Perf-only builder.
706 if not self._perf_output_basedir: 700 if not self._perf_output_basedir:
707 raise ValueError( 701 raise ValueError(
708 'BuildPerfOnly requires perf_output_basedir to be defined.') 702 'BuildPerfOnly requires perf_output_basedir to be defined.')
709 if self._configuration != CONFIG_RELEASE: 703 if self._configuration != CONFIG_RELEASE:
710 raise ValueError('BuildPerfOnly should run in %s configuration.' % 704 raise ValueError('BuildPerfOnly should run in %s configuration.' %
711 CONFIG_RELEASE) 705 CONFIG_RELEASE)
712 self.PerfSteps() 706 self.PerfSteps()
713 self.Validate() 707 self.Validate()
714 return self 708 return self
OLDNEW
« no previous file with comments | « buildbot/master/master_private_builders_cfg.py ('k') | buildbot/master/skia_master_scripts/skia_build_step.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698