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

Side by Side Diff: git_cl.py

Issue 2196843002: remove luci hacks (Closed) Base URL: https://chromium.googlesource.com/chromium/tools/depot_tools.git@master
Patch Set: Created 4 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
« no previous file with comments | « no previous file | luci_hacks/README.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 # Copyright (C) 2008 Evan Martin <martine@danga.com> 6 # Copyright (C) 2008 Evan Martin <martine@danga.com>
7 7
8 """A git-command for integrating reviews on Rietveld and Gerrit.""" 8 """A git-command for integrating reviews on Rietveld and Gerrit."""
9 9
10 from __future__ import print_function 10 from __future__ import print_function
(...skipping 23 matching lines...) Expand all
34 34
35 try: 35 try:
36 import readline # pylint: disable=F0401,W0611 36 import readline # pylint: disable=F0401,W0611
37 except ImportError: 37 except ImportError:
38 pass 38 pass
39 39
40 from third_party import colorama 40 from third_party import colorama
41 from third_party import httplib2 41 from third_party import httplib2
42 from third_party import upload 42 from third_party import upload
43 import auth 43 import auth
44 from luci_hacks import trigger_luci_job as luci_trigger
45 import clang_format 44 import clang_format
46 import commit_queue 45 import commit_queue
47 import dart_format 46 import dart_format
48 import setup_color 47 import setup_color
49 import fix_encoding 48 import fix_encoding
50 import gclient_utils 49 import gclient_utils
51 import gerrit_util 50 import gerrit_util
52 import git_cache 51 import git_cache
53 import git_common 52 import git_common
54 import git_footers 53 import git_footers
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 if response.status < 500 or try_count >= 2: 273 if response.status < 500 or try_count >= 2:
275 raise httplib2.HttpLib2Error(content) 274 raise httplib2.HttpLib2Error(content)
276 275
277 # status >= 500 means transient failures. 276 # status >= 500 means transient failures.
278 logging.debug('Transient errors when %s. Will retry.', operation_name) 277 logging.debug('Transient errors when %s. Will retry.', operation_name)
279 time.sleep(0.5 + 1.5*try_count) 278 time.sleep(0.5 + 1.5*try_count)
280 try_count += 1 279 try_count += 1
281 assert False, 'unreachable' 280 assert False, 'unreachable'
282 281
283 282
284 def trigger_luci_job(changelist, masters, options):
285 """Send a job to run on LUCI."""
286 issue_props = changelist.GetIssueProperties()
287 issue = changelist.GetIssue()
288 patchset = changelist.GetMostRecentPatchset()
289 for builders_and_tests in sorted(masters.itervalues()):
290 # TODO(hinoka et al): add support for other properties.
291 # Currently, this completely ignores testfilter and other properties.
292 for builder in sorted(builders_and_tests):
293 luci_trigger.trigger(
294 builder, 'HEAD', issue, patchset, issue_props['project'])
295
296
297 def trigger_try_jobs(auth_config, changelist, options, masters, category): 283 def trigger_try_jobs(auth_config, changelist, options, masters, category):
298 rietveld_url = settings.GetDefaultServerUrl() 284 rietveld_url = settings.GetDefaultServerUrl()
299 rietveld_host = urlparse.urlparse(rietveld_url).hostname 285 rietveld_host = urlparse.urlparse(rietveld_url).hostname
300 authenticator = auth.get_authenticator_for_host(rietveld_host, auth_config) 286 authenticator = auth.get_authenticator_for_host(rietveld_host, auth_config)
301 http = authenticator.authorize(httplib2.Http()) 287 http = authenticator.authorize(httplib2.Http())
302 http.force_exception_to_status_code = True 288 http.force_exception_to_status_code = True
303 issue_props = changelist.GetIssueProperties() 289 issue_props = changelist.GetIssueProperties()
304 issue = changelist.GetIssue() 290 issue = changelist.GetIssue()
305 patchset = changelist.GetMostRecentPatchset() 291 patchset = changelist.GetMostRecentPatchset()
306 properties = _get_properties_from_options(options) 292 properties = _get_properties_from_options(options)
(...skipping 4136 matching lines...) Expand 10 before | Expand all | Expand 10 after
4443 group.add_option( 4429 group.add_option(
4444 "-b", "--bot", action="append", 4430 "-b", "--bot", action="append",
4445 help=("IMPORTANT: specify ONE builder per --bot flag. Use it multiple " 4431 help=("IMPORTANT: specify ONE builder per --bot flag. Use it multiple "
4446 "times to specify multiple builders. ex: " 4432 "times to specify multiple builders. ex: "
4447 "'-b win_rel -b win_layout'. See " 4433 "'-b win_rel -b win_layout'. See "
4448 "the try server waterfall for the builders name and the tests " 4434 "the try server waterfall for the builders name and the tests "
4449 "available.")) 4435 "available."))
4450 group.add_option( 4436 group.add_option(
4451 "-m", "--master", default='', 4437 "-m", "--master", default='',
4452 help=("Specify a try master where to run the tries.")) 4438 help=("Specify a try master where to run the tries."))
4453 group.add_option( "--luci", action='store_true')
4454 group.add_option( 4439 group.add_option(
4455 "-r", "--revision", 4440 "-r", "--revision",
4456 help="Revision to use for the try job; default: the " 4441 help="Revision to use for the try job; default: the "
4457 "revision will be determined by the try server; see " 4442 "revision will be determined by the try server; see "
4458 "its waterfall for more info") 4443 "its waterfall for more info")
4459 group.add_option( 4444 group.add_option(
4460 "-c", "--clobber", action="store_true", default=False, 4445 "-c", "--clobber", action="store_true", default=False,
4461 help="Force a clobber before building; e.g. don't do an " 4446 help="Force a clobber before building; e.g. don't do an "
4462 "incremental build") 4447 "incremental build")
4463 group.add_option( 4448 group.add_option(
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
4605 ' Instead send your job to the parent.\n' 4590 ' Instead send your job to the parent.\n'
4606 'Bot list: %s' % builders, file=sys.stderr) 4591 'Bot list: %s' % builders, file=sys.stderr)
4607 return 1 4592 return 1
4608 4593
4609 patchset = cl.GetMostRecentPatchset() 4594 patchset = cl.GetMostRecentPatchset()
4610 if patchset and patchset != cl.GetPatchset(): 4595 if patchset and patchset != cl.GetPatchset():
4611 print( 4596 print(
4612 '\nWARNING Mismatch between local config and server. Did a previous ' 4597 '\nWARNING Mismatch between local config and server. Did a previous '
4613 'upload fail?\ngit-cl try always uses latest patchset from rietveld. ' 4598 'upload fail?\ngit-cl try always uses latest patchset from rietveld. '
4614 'Continuing using\npatchset %s.\n' % patchset) 4599 'Continuing using\npatchset %s.\n' % patchset)
4615 if options.luci: 4600 if not options.use_rietveld:
4616 trigger_luci_job(cl, masters, options)
4617 elif not options.use_rietveld:
4618 try: 4601 try:
4619 trigger_try_jobs(auth_config, cl, options, masters, 'git_cl_try') 4602 trigger_try_jobs(auth_config, cl, options, masters, 'git_cl_try')
4620 except BuildbucketResponseException as ex: 4603 except BuildbucketResponseException as ex:
4621 print('ERROR: %s' % ex) 4604 print('ERROR: %s' % ex)
4622 return 1 4605 return 1
4623 except Exception as e: 4606 except Exception as e:
4624 stacktrace = (''.join(traceback.format_stack()) + traceback.format_exc()) 4607 stacktrace = (''.join(traceback.format_stack()) + traceback.format_exc())
4625 print('ERROR: Exception when trying to trigger tryjobs: %s\n%s' % 4608 print('ERROR: Exception when trying to trigger tryjobs: %s\n%s' %
4626 (e, stacktrace)) 4609 (e, stacktrace))
4627 return 1 4610 return 1
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
5104 if __name__ == '__main__': 5087 if __name__ == '__main__':
5105 # These affect sys.stdout so do it outside of main() to simplify mocks in 5088 # These affect sys.stdout so do it outside of main() to simplify mocks in
5106 # unit testing. 5089 # unit testing.
5107 fix_encoding.fix_encoding() 5090 fix_encoding.fix_encoding()
5108 setup_color.init() 5091 setup_color.init()
5109 try: 5092 try:
5110 sys.exit(main(sys.argv[1:])) 5093 sys.exit(main(sys.argv[1:]))
5111 except KeyboardInterrupt: 5094 except KeyboardInterrupt:
5112 sys.stderr.write('interrupted\n') 5095 sys.stderr.write('interrupted\n')
5113 sys.exit(1) 5096 sys.exit(1)
OLDNEW
« no previous file with comments | « no previous file | luci_hacks/README.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698