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

Side by Side Diff: PRESUBMIT.py

Issue 921323003: Make `git cl try` to the same as hitting cq (except for presubmit). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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 | PRESUBMIT_test.py » ('j') | 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) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 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 """Top-level presubmit script for Chromium. 5 """Top-level presubmit script for Chromium.
6 6
7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts 7 See http://dev.chromium.org/developers/how-tos/depottools/presubmit-scripts
8 for more details about the presubmit API built into depot_tools. 8 for more details about the presubmit API built into depot_tools.
9 """ 9 """
10 10
(...skipping 1696 matching lines...) Expand 10 before | Expand all | Expand 10 after
1707 input_api, output_api)) 1707 input_api, output_api))
1708 results.extend(input_api.canned_checks.CheckChangeHasDescription( 1708 results.extend(input_api.canned_checks.CheckChangeHasDescription(
1709 input_api, output_api)) 1709 input_api, output_api))
1710 return results 1710 return results
1711 1711
1712 1712
1713 def GetPreferredTryMasters(project, change): 1713 def GetPreferredTryMasters(project, change):
1714 import re 1714 import re
1715 files = change.LocalPaths() 1715 files = change.LocalPaths()
1716 1716
1717 if not files or all(re.search(r'[\\\/]OWNERS$', f) for f in files):
1718 return {}
1719
1720 if all(re.search(r'\.(m|mm)$|(^|[\\\/_])mac[\\\/_.]', f) for f in files):
1721 return GetDefaultTryConfigs([
1722 'mac_chromium_compile_dbg_ng',
1723 'mac_chromium_rel_ng',
1724 ])
1725 if all(re.search('(^|[/_])win[/_.]', f) for f in files):
1726 return GetDefaultTryConfigs([
1727 'win8_chromium_rel',
1728 'win_chromium_rel_ng',
1729 'win_chromium_x64_rel_ng',
1730 ])
1731 if all(re.search(r'(^|[\\\/_])android[\\\/_.]', f) and
1732 not re.search(r'(^|[\\\/_])devtools[\\\/_.]', f) for f in files):
1733 return GetDefaultTryConfigs([
1734 'android_aosp',
1735 'android_rel_tests_recipe',
1736 ])
1737 if all(re.search(r'[\\\/_]ios[\\\/_.]', f) for f in files):
1738 return GetDefaultTryConfigs(['ios_rel_device', 'ios_dbg_simulator'])
1739
1740 import os 1717 import os
1741 import json 1718 import json
1742 with open(os.path.join( 1719 with open(os.path.join(
1743 change.RepositoryRoot(), 'testing', 'commit_queue', 'config.json')) as f: 1720 change.RepositoryRoot(), 'testing', 'commit_queue', 'config.json')) as f:
1744 cq_config = json.load(f) 1721 cq_config = json.load(f)
1745 cq_trybots = cq_config.get('trybots', {}) 1722 cq_trybots = cq_config.get('trybots', {})
1746 builders = cq_trybots.get('launched', {}) 1723 builders = cq_trybots.get('launched', {})
1747 for master, master_config in cq_trybots.get('triggered', {}).iteritems(): 1724 for master, master_config in cq_trybots.get('triggered', {}).iteritems():
1748 for triggered_bot in master_config: 1725 for triggered_bot in master_config:
1749 builders.get(master, {}).pop(triggered_bot, None) 1726 builders.get(master, {}).pop(triggered_bot, None)
1750 1727
1751 # Explicitly iterate over copies of dicts since we mutate them. 1728 # Explicitly iterate over copies of dicts since we mutate them.
1752 for master in builders.keys(): 1729 for master in builders.keys():
1753 for builder in builders[master].keys(): 1730 for builder in builders[master].keys():
1754 # Do not trigger presubmit builders, since they're likely to fail 1731 # Do not trigger presubmit builders, since they're likely to fail
1755 # (e.g. OWNERS checks before finished code review), and we're 1732 # (e.g. OWNERS checks before finished code review), and we're
1756 # running local presubmit anyway. 1733 # running local presubmit anyway.
1757 if 'presubmit' in builder: 1734 if 'presubmit' in builder:
1758 builders[master].pop(builder) 1735 builders[master].pop(builder)
1759 1736
1760 # Match things like path/aura/file.cc and path/file_aura.cc.
1761 # Same for chromeos.
1762 if any(re.search(r'[\\\/_](aura|chromeos)', f) for f in files):
1763 tryserver_linux = builders.setdefault('tryserver.chromium.linux', {})
1764 tryserver_linux['linux_chromium_chromeos_asan_rel_ng'] = ['defaulttests']
1765
1766 return builders 1737 return builders
OLDNEW
« no previous file with comments | « no previous file | PRESUBMIT_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698