Changeset 242967 in webkit
- Timestamp:
- Mar 14, 2019, 3:06:17 PM (7 years ago)
- Location:
- trunk/Tools
- Files:
-
- 2 edited
-
BuildSlaveSupport/ews-app/ews/views/statusbubble.py (modified) (4 diffs)
-
ChangeLog (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py
r242884 r242967 23 23 from __future__ import unicode_literals 24 24 25 import datetime 25 26 import re 26 27 … … 43 44 def _build_bubble(self, patch, queue): 44 45 bubble = { 45 "name": queue,46 'name': queue, 46 47 } 47 48 build = self.get_latest_build_for_queue(patch, queue) … … 50 51 51 52 if not build: 52 bubble[ "state"] = "none"53 bubble[ "details_message"] = 'Waiting in queue, processing has not started yet.'53 bubble['state'] = 'none' 54 bubble['details_message'] = 'Waiting in queue, processing has not started yet.' 54 55 return bubble 55 56 56 bubble["url"] = 'https://{}/#/builders/{}/builds/{}'.format(config.BUILDBOT_SERVER_HOST, build.builder_id, build.number) 57 builder_full_name = build.builder_name 58 bubble["details_message"] = '{}\n{}'.format(builder_full_name, build.state_string) 59 if build.result is None: 60 bubble["state"] = "started" 57 bubble['url'] = 'https://{}/#/builders/{}/builds/{}'.format(config.BUILDBOT_SERVER_HOST, build.builder_id, build.number) 58 builder_full_name = build.builder_name.replace('-', ' ') 59 60 if build.result is None: # In-progress build 61 bubble['state'] = 'started' 62 bubble['details_message'] = 'Recent messages:\n\n' + self._steps_messages(build) + '\n\n' + self._iso_time(build.step_set.last().started_at) 61 63 elif build.result == Buildbot.SUCCESS: 62 bubble["state"] = "pass" 64 bubble['state'] = 'pass' 65 bubble['details_message'] = 'Pass\n\n' + self._iso_time(build.complete_at) 63 66 elif build.result == Buildbot.WARNINGS: 64 bubble["state"] = "pass" 67 bubble['state'] = 'pass' 68 bubble['details_message'] = 'Warning\n\n' + self._steps_messages(build) + '\n\n' + self._iso_time(build.complete_at) 65 69 elif build.result == Buildbot.FAILURE: 66 bubble["state"] = "fail" 70 bubble['state'] = 'fail' 71 bubble['details_message'] = self._most_recent_step_message(build) + '\n\n' + self._iso_time(build.complete_at) 67 72 elif build.result == Buildbot.SKIPPED: 68 bubble["state"] = "none" 73 bubble['state'] = 'none' 74 bubble['details_message'] = 'The patch is no longer eligible for processing.' 75 if re.search(r'Bug .* is already closed', build.state_string): 76 bubble['details_message'] += ' Bug was already closed when EWS attempted to process it.' 77 elif re.search(r'Patch .* is marked r-', build.state_string): 78 bubble['details_message'] += ' Patch was already marked r- when EWS attempted to process it.' 79 elif re.search(r'Patch .* is obsolete', build.state_string): 80 bubble['details_message'] += ' Patch was obsolete when EWS attempted to process it.' 81 bubble['details_message'] += '\nSome messages were logged while the patch was still eligible:\n\n' 82 bubble['details_message'] += self._steps_messages(build) + '\n\n' + self._iso_time(build.complete_at) 83 69 84 elif build.result == Buildbot.EXCEPTION: 70 bubble["state"] = "error" 85 bubble['state'] = 'error' 86 bubble['details_message'] += ('An unexpected error occured. Recent messages:\n\n' 87 + self._steps_messages(build) + '\n\n' + self._iso_time(build.complete_at)) 71 88 elif build.result == Buildbot.RETRY: 72 bubble["state"] = "provisional-fail" 89 bubble['state'] = 'provisional-fail' 90 bubble['details_message'] += ('Build is being retried. Recent messages:\n\n' 91 + self._steps_messages(build) + '\n\n' + self._iso_time(build.complete_at)) 92 elif build.result == Buildbot.CANCELLED: 93 bubble['state'] = 'provisional-fail' 94 bubble['details_message'] += ('Build was cancelled. Recent messages:\n\n' 95 + self._steps_messages(build) + '\n\n' + self._iso_time(build.complete_at)) 73 96 else: 74 bubble["state"] = "fail" 97 bubble['state'] = 'error' 98 bubble['details_message'] += ('An unexpected error occured. Recent messages:\n\n' 99 + self._steps_messages(build) + '\n\n' + self._iso_time(build.complete_at)) 100 101 if 'details_message' in bubble: 102 bubble['details_message'] = builder_full_name + '\n\n' + bubble['details_message'] 75 103 76 104 return bubble 105 106 def _iso_time(self, time): 107 return '[[' + datetime.datetime.fromtimestamp(time).isoformat() + 'Z]]' 108 109 def _steps_messages(self, build): 110 return '\n'.join([step.state_string for step in build.step_set.all()]) 111 112 def _most_recent_step_message(self, build): 113 recent_step = build.step_set.last() 114 if not recent_step: 115 return '' 116 return recent_step.state_string 77 117 78 118 def get_latest_build_for_queue(self, patch, queue): … … 120 160 121 161 template_values = { 122 "bubbles": bubbles,123 "patch_id": patch_id,124 "show_submit_to_ews": show_submit_to_ews,125 "show_failure_to_apply": show_failure_to_apply,162 'bubbles': bubbles, 163 'patch_id': patch_id, 164 'show_submit_to_ews': show_submit_to_ews, 165 'show_failure_to_apply': show_failure_to_apply, 126 166 } 127 167 return render(request, 'statusbubble.html', template_values) -
trunk/Tools/ChangeLog
r242966 r242967 1 2019-03-14 Aakash Jain <aakash_jain@apple.com> 2 3 [ews-build] Generate status-bubble hover-over messages 4 https://bugs.webkit.org/show_bug.cgi?id=195680 5 6 Reviewed by Lucas Forschler. 7 8 * BuildSlaveSupport/ews-app/ews/views/statusbubble.py: 9 (StatusBubble): 10 (StatusBubble._build_bubble): Generate bubble['details_message'] which would be displayed 11 on hover-over. 12 (StatusBubble._iso_time): 13 (StatusBubble._steps_messages): Returns status messages from steps to be displayed in 14 hover-over message. 15 (StatusBubble._most_recent_step_message): Returns status message from most recent step. 16 1 17 2019-03-14 Aakash Jain <aakash_jain@apple.com> 2 18
Note:
See TracChangeset
for help on using the changeset viewer.