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

Side by Side Diff: scripts/master/factory/chromium_factory.py

Issue 8536050: Add chromium android bot to FYI waterfall. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/build/
Patch Set: '' Created 9 years, 1 month 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
« no previous file with comments | « scripts/master/factory/chromium_commands.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2011 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 """Utility class to build the chromium master BuildFactory's. 5 """Utility class to build the chromium master BuildFactory's.
6 6
7 Based on gclient_factory.py and adds chromium-specific steps.""" 7 Based on gclient_factory.py and adds chromium-specific steps."""
8 8
9 import os 9 import os
10 import re 10 import re
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
169 if config.Master.trunk_internal_url: 169 if config.Master.trunk_internal_url:
170 PYAUTO_DEPS.append(('src/chrome/test/data/plugin', 170 PYAUTO_DEPS.append(('src/chrome/test/data/plugin',
171 config.Master.trunk_internal_url + 171 config.Master.trunk_internal_url +
172 '/data/chrome_plugin_tests')) 172 '/data/chrome_plugin_tests'))
173 PYAUTO_DEPS.append(('src/chrome/test/data/pyauto_private', 173 PYAUTO_DEPS.append(('src/chrome/test/data/pyauto_private',
174 config.Master.trunk_internal_url + 174 config.Master.trunk_internal_url +
175 '/data/pyauto_private')) 175 '/data/pyauto_private'))
176 176
177 def __init__(self, build_dir, target_platform=None, pull_internal=True, 177 def __init__(self, build_dir, target_platform=None, pull_internal=True,
178 full_checkout=False, additional_svn_urls=None, name=None, 178 full_checkout=False, additional_svn_urls=None, name=None,
179 custom_deps_list=None): 179 custom_deps_list=None, nohooks_on_update=False):
180 if full_checkout: 180 if full_checkout:
181 needed_components = None 181 needed_components = None
182 else: 182 else:
183 needed_components = self.NEEDED_COMPONENTS 183 needed_components = self.NEEDED_COMPONENTS
184 main = gclient_factory.GClientSolution(config.Master.trunk_url_src, 184 main = gclient_factory.GClientSolution(config.Master.trunk_url_src,
185 needed_components=needed_components, 185 needed_components=needed_components,
186 name=name, 186 name=name,
187 custom_deps_list=custom_deps_list, 187 custom_deps_list=custom_deps_list,
188 custom_vars_list=[self.CUSTOM_VARS_WEBKIT_MIRROR, 188 custom_vars_list=[self.CUSTOM_VARS_WEBKIT_MIRROR,
189 self.CUSTOM_VARS_GOOGLECODE_URL, 189 self.CUSTOM_VARS_GOOGLECODE_URL,
190 self.CUSTOM_VARS_SOURCEFORGE_URL]) 190 self.CUSTOM_VARS_SOURCEFORGE_URL])
191 internal_custom_deps_list = [main] 191 internal_custom_deps_list = [main]
192 if config.Master.trunk_internal_url_src and pull_internal: 192 if config.Master.trunk_internal_url_src and pull_internal:
193 internal = gclient_factory.GClientSolution( 193 internal = gclient_factory.GClientSolution(
194 config.Master.trunk_internal_url_src, 194 config.Master.trunk_internal_url_src,
195 needed_components=self.NEEDED_COMPONENTS_INTERNAL) 195 needed_components=self.NEEDED_COMPONENTS_INTERNAL)
196 internal_custom_deps_list.append(internal) 196 internal_custom_deps_list.append(internal)
197 197
198 additional_svn_urls = additional_svn_urls or [] 198 additional_svn_urls = additional_svn_urls or []
199 for svn_url in additional_svn_urls: 199 for svn_url in additional_svn_urls:
200 solution = gclient_factory.GClientSolution(svn_url) 200 solution = gclient_factory.GClientSolution(svn_url)
201 internal_custom_deps_list.append(solution) 201 internal_custom_deps_list.append(solution)
202 202
203 gclient_factory.GClientFactory.__init__(self, build_dir, 203 gclient_factory.GClientFactory.__init__(self, build_dir,
204 internal_custom_deps_list, 204 internal_custom_deps_list,
205 target_platform=target_platform) 205 target_platform=target_platform,
206 nohooks_on_update=nohooks_on_update)
206 207
207 def _AddTests(self, factory_cmd_obj, tests, mode=None, 208 def _AddTests(self, factory_cmd_obj, tests, mode=None,
208 factory_properties=None): 209 factory_properties=None):
209 """Add the tests listed in 'tests' to the factory_cmd_obj.""" 210 """Add the tests listed in 'tests' to the factory_cmd_obj."""
210 factory_properties = factory_properties or {} 211 factory_properties = factory_properties or {}
211 tests = (tests or [])[:] 212 tests = (tests or [])[:]
212 213
213 # This function is too crowded, try to simplify it a little. 214 # This function is too crowded, try to simplify it a little.
214 def R(test): 215 def R(test):
215 if gclient_factory.ShouldRunTest(tests, test): 216 if gclient_factory.ShouldRunTest(tests, test):
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 524
524 test_parity_platform = factory_properties.get('test_parity_platform') 525 test_parity_platform = factory_properties.get('test_parity_platform')
525 if test_parity_platform: 526 if test_parity_platform:
526 chromium_cmd_obj.AddSendTestParityStep(test_parity_platform) 527 chromium_cmd_obj.AddSendTestParityStep(test_parity_platform)
527 528
528 # Append any post steps needed by the BuildFactory. 529 # Append any post steps needed by the BuildFactory.
529 self.PostBuildFactory(factory, target=target, slave_type=slave_type, 530 self.PostBuildFactory(factory, target=target, slave_type=slave_type,
530 factory_properties=factory_properties) 531 factory_properties=factory_properties)
531 return factory 532 return factory
532 533
534 def ChromiumAnnotationFactory(self, annotation_script,
535 branch='master',
536 target='Release',
537 slave_type='AnnotatedBuilderTester',
538 clobber=False,
539 compile_timeout=6000,
540 build_url=None,
541 project=None,
542 factory_properties=None, options=None,
543 tests=None,
544 gclient_deps=None):
545 """Annotation-driven Chromium buildbot factory.
546
547 Line a ChromiumFactory, but non-sync steps (compile, run tests)
548 are specified in a script that uses @@@BUILD_STEP descriptive
549 text@@@ style annotations.
550
551 Note new slave type AnnotatedBuilderTester; we don't want a
552 compile step added.
553 TODO(jrg): is a new slave type the right direction?
554 """
555 # Setup factory.
556 factory_properties = factory_properties or {}
557 options = options or {}
558 factory = self.BuildFactory(target, clobber,
559 None, None, # tests_for_build, mode,
560 slave_type, options, compile_timeout, build_url,
561 project, factory_properties,
562 gclient_deps=gclient_deps)
563
564 # Get the factory command object to create new steps to the factory.
565 chromium_cmd_obj = chromium_commands.ChromiumCommands(factory,
566 target,
567 self._build_dir,
568 self._target_platform)
569
570 # Add the main build.
571 chromium_cmd_obj.AddAnnotationStep('build', annotation_script)
572
573 return factory
574
575
533 def ReliabilityTestsFactory(self, platform='win'): 576 def ReliabilityTestsFactory(self, platform='win'):
534 """Create a BuildFactory to run a reliability slave.""" 577 """Create a BuildFactory to run a reliability slave."""
535 factory = BuildFactory({}) 578 factory = BuildFactory({})
536 cmd_obj = chromium_commands.ChromiumCommands(factory, 579 cmd_obj = chromium_commands.ChromiumCommands(factory,
537 'Release', '', 580 'Release', '',
538 self._target_platform) 581 self._target_platform)
539 cmd_obj.AddUpdateScriptStep() 582 cmd_obj.AddUpdateScriptStep()
540 cmd_obj.AddReliabilityTests(platform=platform) 583 cmd_obj.AddReliabilityTests(platform=platform)
541 return factory 584 return factory
542 585
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after
778 if 'cros_deps' not in [s.name for s in self._solutions]: 821 if 'cros_deps' not in [s.name for s in self._solutions]:
779 self._solutions.append(gclient_factory.GClientSolution( 822 self._solutions.append(gclient_factory.GClientSolution(
780 config.Master.trunk_url + '/src/tools/cros.DEPS', name='cros_deps')) 823 config.Master.trunk_url + '/src/tools/cros.DEPS', name='cros_deps'))
781 if 'asan.DEPS' not in [s.name for s in self._solutions]: 824 if 'asan.DEPS' not in [s.name for s in self._solutions]:
782 self._solutions.append(gclient_factory.GClientSolution( 825 self._solutions.append(gclient_factory.GClientSolution(
783 'http://src.chromium.org/svn/trunk/deps/asan.DEPS', 826 'http://src.chromium.org/svn/trunk/deps/asan.DEPS',
784 'asan.DEPS')) 827 'asan.DEPS'))
785 return self.ChromiumFactory(target, clobber, tests, mode, slave_type, 828 return self.ChromiumFactory(target, clobber, tests, mode, slave_type,
786 options, compile_timeout, build_url, project, 829 options, compile_timeout, build_url, project,
787 factory_properties) 830 factory_properties)
OLDNEW
« no previous file with comments | « scripts/master/factory/chromium_commands.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698