OLD | NEW |
1 # Copyright 2013 The Chromium Authors. All rights reserved. | 1 # Copyright 2013 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 import argparse | 5 import argparse |
6 import collections | 6 import collections |
7 import datetime | 7 import datetime |
8 import math | 8 import math |
9 import re | 9 import re |
10 import urllib | 10 import urllib |
(...skipping 985 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
996 'merge perf results' + kwargs.pop('suffix', ''), | 996 'merge perf results' + kwargs.pop('suffix', ''), |
997 self.resource('merge_perf_result_maps.py'), | 997 self.resource('merge_perf_result_maps.py'), |
998 [self.m.json.input(results_file_map)], | 998 [self.m.json.input(results_file_map)], |
999 stdout=self.m.json.output(), | 999 stdout=self.m.json.output(), |
1000 ).stdout | 1000 ).stdout |
1001 | 1001 |
1002 def maybe_trigger(self, **additional_properties): | 1002 def maybe_trigger(self, **additional_properties): |
1003 triggers = self.bot_config.get('triggers') | 1003 triggers = self.bot_config.get('triggers') |
1004 if triggers: | 1004 if triggers: |
1005 properties = { | 1005 properties = { |
1006 'revision': self.revision, | |
1007 'parent_got_revision': self.revision, | 1006 'parent_got_revision': self.revision, |
1008 'parent_got_revision_cp': self.revision_cp, | 1007 'parent_got_revision_cp': self.revision_cp, |
1009 } | 1008 } |
1010 if self.m.tryserver.is_tryserver: | 1009 if self.m.tryserver.is_tryserver: |
1011 properties.update( | 1010 properties.update( |
1012 category=self.m.properties['category'], | 1011 category=self.m.properties['category'], |
1013 issue=self.m.properties['issue'], | 1012 issue=self.m.properties['issue'], |
1014 master=str(self.m.properties['master']), | 1013 master=str(self.m.properties['master']), |
1015 patch_project=str(self.m.properties['patch_project']), | 1014 patch_project=str(self.m.properties['patch_project']), |
1016 patch_storage=str(self.m.properties['patch_storage']), | 1015 patch_storage=str(self.m.properties['patch_storage']), |
1017 patchset=str(self.m.properties['patchset']), | 1016 patchset=str(self.m.properties['patchset']), |
1018 reason=str(self.m.properties['reason']), | 1017 reason=str(self.m.properties['reason']), |
1019 requester=str(self.m.properties['requester']), | 1018 requester=str(self.m.properties['requester']), |
| 1019 # On tryservers, set revision to the same as on the current bot, |
| 1020 # as CQ expects builders and testers to match the revision field. |
| 1021 revision=str(self.m.properties.get('revision', 'HEAD')), |
1020 rietveld=str(self.m.properties['rietveld']), | 1022 rietveld=str(self.m.properties['rietveld']), |
1021 ) | 1023 ) |
| 1024 else: |
| 1025 # On non-tryservers, we can set the revision to whatever the |
| 1026 # triggering builder checked out. |
| 1027 properties['revision'] = self.revision |
1022 | 1028 |
1023 # TODO(machenbach): Also set meaningful buildbucket tags of triggering | 1029 # TODO(machenbach): Also set meaningful buildbucket tags of triggering |
1024 # parent. | 1030 # parent. |
1025 | 1031 |
1026 swarm_hashes = self.m.isolate.isolated_tests | 1032 swarm_hashes = self.m.isolate.isolated_tests |
1027 if swarm_hashes: | 1033 if swarm_hashes: |
1028 properties['swarm_hashes'] = swarm_hashes | 1034 properties['swarm_hashes'] = swarm_hashes |
1029 properties.update(**additional_properties) | 1035 properties.update(**additional_properties) |
1030 self.m.trigger(*[{ | 1036 self.m.trigger(*[{ |
1031 'builder_name': builder_name, | 1037 'builder_name': builder_name, |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1151 def report_culprits(self, culprit_range): | 1157 def report_culprits(self, culprit_range): |
1152 assert culprit_range | 1158 assert culprit_range |
1153 if len(culprit_range) > 1: | 1159 if len(culprit_range) > 1: |
1154 text = 'Suspecting multiple commits' | 1160 text = 'Suspecting multiple commits' |
1155 else: | 1161 else: |
1156 text = 'Suspecting %s' % culprit_range[0][:8] | 1162 text = 'Suspecting %s' % culprit_range[0][:8] |
1157 | 1163 |
1158 step_result = self.m.step(text, cmd=None) | 1164 step_result = self.m.step(text, cmd=None) |
1159 for culprit in culprit_range: | 1165 for culprit in culprit_range: |
1160 step_result.presentation.links[culprit[:8]] = COMMIT_TEMPLATE % culprit | 1166 step_result.presentation.links[culprit[:8]] = COMMIT_TEMPLATE % culprit |
OLD | NEW |