Commit 6f755d21 by Jamie Madill Committed by Commit Bot

Fix trigger.py using deprecated parameters.

This changes the script to query the command from mb.py then call swarming trigger with -raw-cmd and -relative-cwd. See http://crbug.com/chrome-operations/94 Bug: None Change-Id: I1e11cd2e1314a4e96e1ee5a42b311f0c3cb5058b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2521240 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: 's avatarDirk Pranke <dpranke@google.com> Reviewed-by: 's avatarYuly Novikov <ynovikov@chromium.org>
parent e53efb18
...@@ -60,13 +60,13 @@ def IsWindows(): ...@@ -60,13 +60,13 @@ def IsWindows():
def main(): def main():
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument('executable', help='Test executable.') parser.add_argument('executable', help='Test executable.')
parser.add_argument('--isolated-script-test-output', type=str, required=True) parser.add_argument('--isolated-script-test-output', type=str)
parser.add_argument('--isolated-script-test-filter', type=str, required=False) parser.add_argument('--isolated-script-test-filter', type=str)
parser.add_argument('--xvfb', help='Start xvfb.', action='store_true') parser.add_argument('--xvfb', help='Start xvfb.', action='store_true')
# Kept for compatiblity. # Kept for compatiblity.
# TODO(jmadill): Remove when removed from the recipes. http://crbug.com/954415 # TODO(jmadill): Remove when removed from the recipes. http://crbug.com/954415
parser.add_argument('--isolated-script-test-perf-output', type=str, required=False) parser.add_argument('--isolated-script-test-perf-output', type=str)
args, extra_flags = parser.parse_known_args() args, extra_flags = parser.parse_known_args()
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
# Helper script for triggering GPU tests on swarming. # Helper script for triggering GPU tests on swarming.
import argparse import argparse
import json
import hashlib import hashlib
import logging import logging
import os import os
...@@ -29,6 +30,7 @@ def parse_args(): ...@@ -29,6 +30,7 @@ def parse_args():
parser.add_argument('-g', '--gpu', help='GPU dimension. (e.g. intel-hd-630-win10-stable)') parser.add_argument('-g', '--gpu', help='GPU dimension. (e.g. intel-hd-630-win10-stable)')
parser.add_argument('-t', '--device-type', help='Android device type (e.g. bullhead)') parser.add_argument('-t', '--device-type', help='Android device type (e.g. bullhead)')
parser.add_argument('-o', '--device-os', help='Android OS.') parser.add_argument('-o', '--device-os', help='Android OS.')
parser.add_argument('-v', '--verbose', action='store_true', help='Verbose logging.')
parser.add_argument( parser.add_argument(
'--priority', '--priority',
help='Task priority. Default is %s. Use judiciously.' % DEFAULT_TASK_PRIORITY, help='Task priority. Default is %s. Use judiciously.' % DEFAULT_TASK_PRIORITY,
...@@ -37,24 +39,36 @@ def parse_args(): ...@@ -37,24 +39,36 @@ def parse_args():
return parser.parse_known_args() return parser.parse_known_args()
def main(): def invoke_mb(args):
args, unknown = parse_args() mb_script_path = os.path.join('tools', 'mb', 'mb.py')
path = args.gn_path.replace('\\', '/') mb_args = ['python', mb_script_path] + args
out_gn_path = '//' + path
out_file_path = os.path.join(*path.split('/'))
# Attempt to detect standalone vs chromium component build. # Attempt to detect standalone vs chromium component build.
is_standalone = not os.path.isdir(os.path.join('third_party', 'angle')) is_standalone = not os.path.isdir(os.path.join('third_party', 'angle'))
mb_script_path = os.path.join('tools', 'mb', 'mb.py')
mb_args = ['python', mb_script_path, 'isolate', out_gn_path, args.test]
if is_standalone: if is_standalone:
logging.info('Standalone mode detected.') logging.info('Standalone mode detected.')
mb_args += ['-i', os.path.join('infra', 'gn_isolate_map.pyl')] mb_args += ['-i', os.path.join('infra', 'gn_isolate_map.pyl')]
if subprocess.call(mb_args): logging.info('Invoking mb: %s' % ' '.join(mb_args))
sys.exit('MB step failed, exiting') return subprocess.check_output(mb_args)
def main():
args, unknown = parse_args()
if args.verbose:
logging.basicConfig(level='INFO')
path = args.gn_path.replace('\\', '/')
out_gn_path = '//' + path
out_file_path = os.path.join(*path.split('/'))
get_command_output = invoke_mb(['get-swarming-command', out_gn_path, args.test, '--as-list'])
swarming_cmd = json.loads(get_command_output)
logging.info('Swarming command: %s' % ' '.join(swarming_cmd))
invoke_mb(['isolate', out_gn_path, args.test])
isolate_cmd_path = os.path.join('tools', 'luci-go', 'isolate') isolate_cmd_path = os.path.join('tools', 'luci-go', 'isolate')
isolate_file = os.path.join(out_file_path, '%s.isolate' % args.test) isolate_file = os.path.join(out_file_path, '%s.isolate' % args.test)
...@@ -64,6 +78,7 @@ def main(): ...@@ -64,6 +78,7 @@ def main():
isolate_cmd_path, 'archive', '-I', 'https://isolateserver.appspot.com', '-i', isolate_file, isolate_cmd_path, 'archive', '-I', 'https://isolateserver.appspot.com', '-i', isolate_file,
'-s', isolated_file '-s', isolated_file
] ]
logging.info('Invoking isolate: %s' % ' '.join(isolate_args))
subprocess.check_call(isolate_args) subprocess.check_call(isolate_args)
with open(isolated_file, 'rb') as f: with open(isolated_file, 'rb') as f:
sha = hashlib.sha1(f.read()).hexdigest() sha = hashlib.sha1(f.read()).hexdigest()
...@@ -98,6 +113,10 @@ def main(): ...@@ -98,6 +113,10 @@ def main():
if args.device_os: if args.device_os:
swarming_args += ['-d', 'device_os=' + args.device_os] swarming_args += ['-d', 'device_os=' + args.device_os]
cmd_args = ['-relative-cwd', args.gn_path, '-raw-cmd', '--'] + swarming_cmd
if unknown:
cmd_args += unknown
if args.shards > 1: if args.shards > 1:
for i in range(args.shards): for i in range(args.shards):
shard_args = swarming_args[:] shard_args = swarming_args[:]
...@@ -107,14 +126,14 @@ def main(): ...@@ -107,14 +126,14 @@ def main():
'--env', '--env',
'GTEST_SHARD_INDEX=%d' % i, 'GTEST_SHARD_INDEX=%d' % i,
]) ])
if unknown:
shard_args += ["--"] + unknown
logging.info(' '.join(shard_args)) shard_args += cmd_args
logging.info('Invoking swarming: %s' % ' '.join(shard_args))
subprocess.call(shard_args) subprocess.call(shard_args)
else: else:
if unknown: swarming_args += cmd_args
swarming_args += ["--"] + unknown logging.info('Invoking swarming: %s' % ' '.join(swarming_args))
subprocess.call(swarming_args) subprocess.call(swarming_args)
return 0 return 0
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment