OLD | NEW |
---|---|
1 # Copyright 2016 The Chromium Authors. All rights reserved. | 1 # Copyright 2016 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 """A command to fetch new baselines from try jobs for a Rietveld issue. | 5 """A command to fetch new baselines from try jobs for a Rietveld issue. |
6 | 6 |
7 This command interacts with the Rietveld API to get information about try jobs | 7 This command interacts with the Rietveld API to get information about try jobs |
8 with layout test results. | 8 with layout test results. |
9 """ | 9 """ |
10 | 10 |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
90 # Pass in a current working directory inside of the repo so | 90 # Pass in a current working directory inside of the repo so |
91 # that this command can be called from outside of the repo. | 91 # that this command can be called from outside of the repo. |
92 return Git(cwd=self._tool.filesystem.dirname(self._tool.path())) | 92 return Git(cwd=self._tool.filesystem.dirname(self._tool.path())) |
93 | 93 |
94 def trigger_jobs_for_missing_builds(self, builds): | 94 def trigger_jobs_for_missing_builds(self, builds): |
95 builders_with_builds = {b.builder_name for b in builds} | 95 builders_with_builds = {b.builder_name for b in builds} |
96 builders_without_builds = set(self._try_bots()) - builders_with_builds | 96 builders_without_builds = set(self._try_bots()) - builders_with_builds |
97 if not builders_without_builds: | 97 if not builders_without_builds: |
98 return | 98 return |
99 _log.info('Triggering try jobs for: %s', ', '.join(sorted(builders_witho ut_builds))) | 99 _log.info('Triggering try jobs for: %s', ', '.join(sorted(builders_witho ut_builds))) |
100 # If the builders may be under different masters, then they cannot | |
101 # all be started in one invocation of git cl try without providing | |
102 # master names. Doing separate invocations is slower, but always works | |
103 # even when there are builders under different master names. | |
100 git_cl = GitCL(self._tool.executive) | 104 git_cl = GitCL(self._tool.executive) |
101 command = ['try'] | |
102 for builder in sorted(builders_without_builds): | 105 for builder in sorted(builders_without_builds): |
103 command += ['-b', builder] | 106 _log.info(git_cl.run(['try', '-b', builder])) |
wkorman
2016/08/23 23:30:46
remove log wrapper, looks like debugging?
qyearsley
2016/08/24 18:17:44
I originally intended for this to provide more out
| |
104 git_cl.run(command) | |
105 | 107 |
106 def _test_prefix_list(self, issue_number, only_changed_tests): | 108 def _test_prefix_list(self, issue_number, only_changed_tests): |
107 """Returns a collection of test, builder and file extensions to get new baselines for. | 109 """Returns a collection of test, builder and file extensions to get new baselines for. |
108 | 110 |
109 Args: | 111 Args: |
110 issue_number: The CL number of the change which needs new baselines. | 112 issue_number: The CL number of the change which needs new baselines. |
111 only_changed_tests: Whether to only include baselines for tests that | 113 only_changed_tests: Whether to only include baselines for tests that |
112 are changed in this CL. If False, all new baselines for failing | 114 are changed in this CL. If False, all new baselines for failing |
113 tests will be downloaded, even for tests that were not modified. | 115 tests will be downloaded, even for tests that were not modified. |
114 | 116 |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
160 @staticmethod | 162 @staticmethod |
161 def _log_test_prefix_list(test_prefix_list): | 163 def _log_test_prefix_list(test_prefix_list): |
162 """Logs the tests to download new baselines for.""" | 164 """Logs the tests to download new baselines for.""" |
163 if not test_prefix_list: | 165 if not test_prefix_list: |
164 _log.info('No tests to rebaseline.') | 166 _log.info('No tests to rebaseline.') |
165 return | 167 return |
166 _log.info('Tests to rebaseline:') | 168 _log.info('Tests to rebaseline:') |
167 for test, builds in test_prefix_list.iteritems(): | 169 for test, builds in test_prefix_list.iteritems(): |
168 builds_str = ', '.join(sorted('%s (%s)' % (b.builder_name, b.build_n umber) for b in builds)) | 170 builds_str = ', '.join(sorted('%s (%s)' % (b.builder_name, b.build_n umber) for b in builds)) |
169 _log.info(' %s: %s', test, builds_str) | 171 _log.info(' %s: %s', test, builds_str) |
OLD | NEW |