OLD | NEW |
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 |
11 from buildbot.process.properties import WithProperties | 11 from buildbot.process.properties import WithProperties |
12 from buildbot.status import builder | 12 from buildbot.status import builder |
13 from config_private import AUTOGEN_SVN_BASEURL, SKIA_GIT_URL | 13 from config_private import AUTOGEN_SVN_BASEURL, SKIA_GIT_URL |
14 from master.factory import gclient_factory | 14 from master.factory import gclient_factory |
15 from master.factory.build_factory import BuildFactory | 15 from master.factory.build_factory import BuildFactory |
16 from skia_master_scripts import commands as skia_commands | 16 from skia_master_scripts import commands as skia_commands |
17 | 17 |
18 import builder_name_schema | 18 import builder_name_schema |
19 import config | 19 import config |
20 import config_private | 20 import config_private |
21 import ntpath | 21 import ntpath |
22 import os | 22 import os |
23 import posixpath | 23 import posixpath |
| 24 import skia_vars |
24 import utils | 25 import utils |
25 | 26 |
26 | 27 |
27 # TODO(epoger): My intent is to make the build steps identical on all platforms | 28 # TODO(epoger): My intent is to make the build steps identical on all platforms |
28 # and thus remove the need for the whole target_platform parameter. | 29 # and thus remove the need for the whole target_platform parameter. |
29 # For now, these must match the target_platform values used in | 30 # For now, these must match the target_platform values used in |
30 # third_party/chromium_buildbot/scripts/master/factory/gclient_factory.py , | 31 # third_party/chromium_buildbot/scripts/master/factory/gclient_factory.py , |
31 # because we pass these values into GClientFactory.__init__() . | 32 # because we pass these values into GClientFactory.__init__() . |
32 TARGET_PLATFORM_LINUX = 'linux' | 33 TARGET_PLATFORM_LINUX = 'linux' |
33 TARGET_PLATFORM_MAC = 'mac' | 34 TARGET_PLATFORM_MAC = 'mac' |
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
524 def PostBench(self): | 525 def PostBench(self): |
525 """ Step to run after the benchmarking steps. """ | 526 """ Step to run after the benchmarking steps. """ |
526 self.AddFlavoredSlaveScript(script='postbench.py', | 527 self.AddFlavoredSlaveScript(script='postbench.py', |
527 description='PostBench', | 528 description='PostBench', |
528 exception_on_failure=True) | 529 exception_on_failure=True) |
529 | 530 |
530 def CompareGMs(self): | 531 def CompareGMs(self): |
531 """Compare the actually-generated GM images to the checked-in baselines.""" | 532 """Compare the actually-generated GM images to the checked-in baselines.""" |
532 self.AddSlaveScript(script='compare_gms.py', | 533 self.AddSlaveScript(script='compare_gms.py', |
533 description='CompareGMs', | 534 description='CompareGMs', |
| 535 get_props_from_stdout={ |
| 536 'latest_gm_failures_url': |
| 537 '%s([^\n]*)\n' % skia_vars.GetGlobalVariable( |
| 538 'latest_gm_failures_preamble')}, |
534 is_rebaseline_step=True) | 539 is_rebaseline_step=True) |
535 | 540 |
536 def CompareRenderedSKPs(self): | 541 def CompareRenderedSKPs(self): |
537 """Compare the actual image results of SKP rendering to expectations.""" | 542 """Compare the actual image results of SKP rendering to expectations.""" |
538 self.AddSlaveScript(script='compare_rendered_skps.py', | 543 self.AddSlaveScript(script='compare_rendered_skps.py', |
539 description='CompareRenderedSKPs', | 544 description='CompareRenderedSKPs', |
540 is_rebaseline_step=True) | 545 is_rebaseline_step=True) |
541 | 546 |
542 def RunBench(self): | 547 def RunBench(self): |
543 """ Run "bench", piping the output somewhere so we can graph | 548 """ Run "bench", piping the output somewhere so we can graph |
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
807 # Perf-only builder. | 812 # Perf-only builder. |
808 if not self._perf_output_basedir: | 813 if not self._perf_output_basedir: |
809 raise ValueError( | 814 raise ValueError( |
810 'BuildPerfOnly requires perf_output_basedir to be defined.') | 815 'BuildPerfOnly requires perf_output_basedir to be defined.') |
811 if self._configuration != CONFIG_RELEASE: | 816 if self._configuration != CONFIG_RELEASE: |
812 raise ValueError('BuildPerfOnly should run in %s configuration.' % | 817 raise ValueError('BuildPerfOnly should run in %s configuration.' % |
813 CONFIG_RELEASE) | 818 CONFIG_RELEASE) |
814 self.PerfSteps() | 819 self.PerfSteps() |
815 self.Validate() | 820 self.Validate() |
816 return self | 821 return self |
OLD | NEW |