|
@@ -1273,7 +1273,7 @@ class Changelist(object):
|
|
return args
|
|
return args
|
|
|
|
|
|
def RunHook(self, committing, may_prompt, verbose, parallel, upstream,
|
|
def RunHook(self, committing, may_prompt, verbose, parallel, upstream,
|
|
- description, all_files, resultdb=False):
|
|
|
|
|
|
+ description, all_files, resultdb=False, realm=None):
|
|
"""Calls sys.exit() if the hook fails; returns a HookResults otherwise."""
|
|
"""Calls sys.exit() if the hook fails; returns a HookResults otherwise."""
|
|
args = self._GetCommonPresubmitArgs(verbose, upstream)
|
|
args = self._GetCommonPresubmitArgs(verbose, upstream)
|
|
args.append('--commit' if committing else '--upload')
|
|
args.append('--commit' if committing else '--upload')
|
|
@@ -1292,10 +1292,15 @@ class Changelist(object):
|
|
args.extend(['--description_file', description_file])
|
|
args.extend(['--description_file', description_file])
|
|
|
|
|
|
start = time_time()
|
|
start = time_time()
|
|
-
|
|
|
|
cmd = ['vpython', PRESUBMIT_SUPPORT] + args
|
|
cmd = ['vpython', PRESUBMIT_SUPPORT] + args
|
|
- if resultdb:
|
|
|
|
- cmd = ['rdb', 'stream', '-new'] + cmd
|
|
|
|
|
|
+ if resultdb and realm:
|
|
|
|
+ cmd = ['rdb', 'stream', '-new', '-realm', realm] + cmd
|
|
|
|
+ elif resultdb:
|
|
|
|
+ # TODO (crbug.com/1113463): store realm somewhere and look it up so
|
|
|
|
+ # it is not required to pass the realm flag
|
|
|
|
+ print('Note: ResultDB reporting will NOT be performed because --realm'
|
|
|
|
+ ' was not specified. To enable ResultDB, please run the command'
|
|
|
|
+ ' again with the --realm argument to specify the LUCI realm.')
|
|
|
|
|
|
p = subprocess2.Popen(cmd)
|
|
p = subprocess2.Popen(cmd)
|
|
exit_code = p.wait()
|
|
exit_code = p.wait()
|
|
@@ -1413,7 +1418,8 @@ class Changelist(object):
|
|
upstream=base_branch,
|
|
upstream=base_branch,
|
|
description=change_desc.description,
|
|
description=change_desc.description,
|
|
all_files=False,
|
|
all_files=False,
|
|
- resultdb=options.resultdb)
|
|
|
|
|
|
+ resultdb=options.resultdb,
|
|
|
|
+ realm=options.realm)
|
|
self.ExtendCC(hook_results['more_cc'])
|
|
self.ExtendCC(hook_results['more_cc'])
|
|
|
|
|
|
print_stats(git_diff_args)
|
|
print_stats(git_diff_args)
|
|
@@ -1864,7 +1870,7 @@ class Changelist(object):
|
|
detail = self._GetChangeDetail(['LABELS'])
|
|
detail = self._GetChangeDetail(['LABELS'])
|
|
return u'Commit-Queue' in detail.get('labels', {})
|
|
return u'Commit-Queue' in detail.get('labels', {})
|
|
|
|
|
|
- def CMDLand(self, force, bypass_hooks, verbose, parallel):
|
|
|
|
|
|
+ def CMDLand(self, force, bypass_hooks, verbose, parallel, resultdb, realm):
|
|
if git_common.is_dirty_git_tree('land'):
|
|
if git_common.is_dirty_git_tree('land'):
|
|
return 1
|
|
return 1
|
|
|
|
|
|
@@ -1905,7 +1911,8 @@ class Changelist(object):
|
|
upstream=upstream,
|
|
upstream=upstream,
|
|
description=description,
|
|
description=description,
|
|
all_files=False,
|
|
all_files=False,
|
|
- resultdb=False)
|
|
|
|
|
|
+ resultdb=resultdb,
|
|
|
|
+ realm=realm)
|
|
|
|
|
|
self.SubmitIssue(wait_for_merge=True)
|
|
self.SubmitIssue(wait_for_merge=True)
|
|
print('Issue %s has been submitted.' % self.GetIssueURL())
|
|
print('Issue %s has been submitted.' % self.GetIssueURL())
|
|
@@ -3831,6 +3838,7 @@ def CMDpresubmit(parser, args):
|
|
parser.add_option('--resultdb', action='store_true',
|
|
parser.add_option('--resultdb', action='store_true',
|
|
help='Run presubmit checks in the ResultSink environment '
|
|
help='Run presubmit checks in the ResultSink environment '
|
|
'and send results to the ResultDB database.')
|
|
'and send results to the ResultDB database.')
|
|
|
|
+ parser.add_option('--realm', help='LUCI realm if reporting to ResultDB')
|
|
options, args = parser.parse_args(args)
|
|
options, args = parser.parse_args(args)
|
|
|
|
|
|
if not options.force and git_common.is_dirty_git_tree('presubmit'):
|
|
if not options.force and git_common.is_dirty_git_tree('presubmit'):
|
|
@@ -3857,7 +3865,8 @@ def CMDpresubmit(parser, args):
|
|
upstream=base_branch,
|
|
upstream=base_branch,
|
|
description=description,
|
|
description=description,
|
|
all_files=options.all,
|
|
all_files=options.all,
|
|
- resultdb=options.resultdb)
|
|
|
|
|
|
+ resultdb=options.resultdb,
|
|
|
|
+ realm=options.realm)
|
|
return 0
|
|
return 0
|
|
|
|
|
|
|
|
|
|
@@ -4071,6 +4080,7 @@ def CMDupload(parser, args):
|
|
parser.add_option('--resultdb', action='store_true',
|
|
parser.add_option('--resultdb', action='store_true',
|
|
help='Run presubmit checks in the ResultSink environment '
|
|
help='Run presubmit checks in the ResultSink environment '
|
|
'and send results to the ResultDB database.')
|
|
'and send results to the ResultDB database.')
|
|
|
|
+ parser.add_option('--realm', help='LUCI realm if reporting to ResultDB')
|
|
|
|
|
|
orig_args = args
|
|
orig_args = args
|
|
(options, args) = parser.parse_args(args)
|
|
(options, args) = parser.parse_args(args)
|
|
@@ -4217,6 +4227,10 @@ def CMDland(parser, args):
|
|
parser.add_option('--parallel', action='store_true',
|
|
parser.add_option('--parallel', action='store_true',
|
|
help='Run all tests specified by input_api.RunTests in all '
|
|
help='Run all tests specified by input_api.RunTests in all '
|
|
'PRESUBMIT files in parallel.')
|
|
'PRESUBMIT files in parallel.')
|
|
|
|
+ parser.add_option('--resultdb', action='store_true',
|
|
|
|
+ help='Run presubmit checks in the ResultSink environment '
|
|
|
|
+ 'and send results to the ResultDB database.')
|
|
|
|
+ parser.add_option('--realm', help='LUCI realm if reporting to ResultDB')
|
|
(options, args) = parser.parse_args(args)
|
|
(options, args) = parser.parse_args(args)
|
|
|
|
|
|
cl = Changelist()
|
|
cl = Changelist()
|
|
@@ -4225,8 +4239,8 @@ def CMDland(parser, args):
|
|
DieWithError('You must upload the change first to Gerrit.\n'
|
|
DieWithError('You must upload the change first to Gerrit.\n'
|
|
' If you would rather have `git cl land` upload '
|
|
' If you would rather have `git cl land` upload '
|
|
'automatically for you, see http://crbug.com/642759')
|
|
'automatically for you, see http://crbug.com/642759')
|
|
- return cl.CMDLand(options.force, options.bypass_hooks,
|
|
|
|
- options.verbose, options.parallel)
|
|
|
|
|
|
+ return cl.CMDLand(options.force, options.bypass_hooks, options.verbose,
|
|
|
|
+ options.parallel, options.resultdb, options.realm)
|
|
|
|
|
|
|
|
|
|
@subcommand.usage('<patch url or issue id or issue url>')
|
|
@subcommand.usage('<patch url or issue id or issue url>')
|