| Index: PRESUBMIT.py
|
| diff --git a/PRESUBMIT.py b/PRESUBMIT.py
|
| index f8ca580af45f1a94415352cd5eef4cbae6392fac..c42900919928917f470fc3cd917afe8963c95f13 100755
|
| --- a/PRESUBMIT.py
|
| +++ b/PRESUBMIT.py
|
| @@ -6,8 +6,11 @@
|
| # in the file PATENTS. All contributing project authors may
|
| # be found in the AUTHORS file in the root of the source tree.
|
|
|
| +import json
|
| import os
|
| +import platform
|
| import re
|
| +import subprocess
|
| import sys
|
|
|
|
|
| @@ -332,85 +335,26 @@ def CheckChangeOnCommit(input_api, output_api):
|
| return results
|
|
|
|
|
| -def GetDefaultTryConfigs(bots=None):
|
| - """Returns a list of ('bot', set(['tests']), optionally filtered by [bots].
|
| -
|
| - For WebRTC purposes, we always return an empty list of tests, since we want
|
| - to run all tests by default on all our trybots.
|
| - """
|
| - return {'tryserver.webrtc': dict((bot, []) for bot in bots)}
|
| -
|
| -
|
| # pylint: disable=W0613
|
| def GetPreferredTryMasters(project, change):
|
| - files = change.LocalPaths()
|
| -
|
| - android_gn_bots = [
|
| - 'android_gn',
|
| - 'android_gn_rel',
|
| - ]
|
| - android_bots = [
|
| - 'android',
|
| - 'android_arm64_rel',
|
| - 'android_rel',
|
| - 'android_clang',
|
| - ] + android_gn_bots
|
| - ios_bots = [
|
| - 'ios',
|
| - 'ios_arm64',
|
| - 'ios_arm64_rel',
|
| - 'ios_rel',
|
| - 'ios32_sim',
|
| - 'ios64_sim',
|
| - ]
|
| - linux_gn_bots = [
|
| - 'linux_gn',
|
| - 'linux_gn_rel',
|
| - ]
|
| - linux_bots = [
|
| - 'linux',
|
| - 'linux_asan',
|
| - 'linux_baremetal',
|
| - 'linux_msan',
|
| - 'linux_rel',
|
| - 'linux_tsan2',
|
| - ] + linux_gn_bots
|
| - mac_gn_bots = [
|
| - 'mac_x64_gn',
|
| - 'mac_x64_gn_rel',
|
| - ]
|
| - mac_bots = [
|
| - 'mac',
|
| - 'mac_asan',
|
| - 'mac_baremetal',
|
| - 'mac_rel',
|
| - 'mac_x64',
|
| - 'mac_x64_rel',
|
| - ] + mac_gn_bots
|
| - win_gn_bots = [
|
| - 'win_x64_gn',
|
| - 'win_x64_gn_rel',
|
| - ]
|
| - win_bots = [
|
| - 'win',
|
| - 'win_baremetal',
|
| - 'win_drmemory_light',
|
| - 'win_rel',
|
| - 'win_x64_rel',
|
| - ] + win_gn_bots
|
| - if not files or all(re.search(r'[\\/]OWNERS$', f) for f in files):
|
| - return {}
|
| - if all(re.search(r'[\\/]BUILD.gn$', f) for f in files):
|
| - return GetDefaultTryConfigs(android_gn_bots + linux_gn_bots + mac_gn_bots +
|
| - win_gn_bots)
|
| - if all(re.search('[/_]mac[/_.]', f) for f in files):
|
| - return GetDefaultTryConfigs(mac_bots)
|
| - if all(re.search('(^|[/_])win[/_.]', f) for f in files):
|
| - return GetDefaultTryConfigs(win_bots)
|
| - if all(re.search('(^|[/_])android[/_.]', f) for f in files):
|
| - return GetDefaultTryConfigs(android_bots)
|
| - if all(re.search('[/_]ios[/_.]', f) for f in files):
|
| - return GetDefaultTryConfigs(ios_bots)
|
| -
|
| - return GetDefaultTryConfigs(android_bots + ios_bots + linux_bots + mac_bots +
|
| - win_bots)
|
| + cq_config_path = os.path.join(
|
| + change.RepositoryRoot(), 'infra', 'config', 'cq.cfg')
|
| + # commit_queue.py below is a script in depot_tools directory, which has a
|
| + # 'builders' command to retrieve a list of CQ builders from the CQ config.
|
| + is_win = platform.system() == 'Windows'
|
| + masters = json.loads(subprocess.check_output(
|
| + ['commit_queue', 'builders', cq_config_path], shell=is_win))
|
| +
|
| + try_config = {}
|
| + for master in masters:
|
| + try_config.setdefault(master, {})
|
| + for builder in masters[master]:
|
| + if 'presubmit' in builder:
|
| + # Do not trigger presubmit builders, since they're likely to fail
|
| + # (e.g. OWNERS checks before finished code review), and we're running
|
| + # local presubmit anyway.
|
| + pass
|
| + else:
|
| + try_config[master][builder] = ['defaulttests']
|
| +
|
| + return try_config
|
|
|