Title: [243707] trunk/Tools
Revision
243707
Author
aakash_j...@apple.com
Date
2019-04-01 12:48:22 -0700 (Mon, 01 Apr 2019)

Log Message

[ews-app] Display OS and Xcode configuration in status-bubble's hover-over message
https://bugs.webkit.org/show_bug.cgi?id=196449

Reviewed by Lucas Forschler.

* BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
(StatusBubble.get_os_details): Method to get OS and Xcode details.
(StatusBubble._build_bubble): Moved the timestamp logic to common method.
(StatusBubble.get_build_timestamp): Method to get the timestamp to display for the build.

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py (243706 => 243707)


--- trunk/Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py	2019-04-01 19:45:56 UTC (rev 243706)
+++ trunk/Tools/BuildSlaveSupport/ews-app/ews/views/statusbubble.py	2019-04-01 19:48:22 UTC (rev 243707)
@@ -59,16 +59,16 @@
 
         if build.result is None:  # In-progress build
             bubble['state'] = 'started'
-            bubble['details_message'] = 'Recent messages:\n\n' + self._steps_messages(build) + '\n\n' + self._iso_time(build.step_set.last().started_at)
+            bubble['details_message'] = 'Recent messages:\n\n' + self._steps_messages(build)
         elif build.result == Buildbot.SUCCESS:
             bubble['state'] = 'pass'
-            bubble['details_message'] = 'Pass\n\n' + self._iso_time(build.complete_at)
+            bubble['details_message'] = 'Pass\n\n'
         elif build.result == Buildbot.WARNINGS:
             bubble['state'] = 'pass'
-            bubble['details_message'] = 'Warning\n\n' + self._steps_messages(build) + '\n\n' + self._iso_time(build.complete_at)
+            bubble['details_message'] = 'Warning\n\n' + self._steps_messages(build)
         elif build.result == Buildbot.FAILURE:
             bubble['state'] = 'fail'
-            bubble['details_message'] = self._most_recent_step_message(build) + '\n\n' + self._iso_time(build.complete_at)
+            bubble['details_message'] = self._most_recent_step_message(build)
         elif build.result == Buildbot.SKIPPED:
             bubble['state'] = 'none'
             bubble['details_message'] = 'The patch is no longer eligible for processing.'
@@ -79,30 +79,43 @@
             elif re.search(r'Patch .* is obsolete', build.state_string):
                 bubble['details_message'] += ' Patch was obsolete when EWS attempted to process it.'
             bubble['details_message'] += '\nSome messages were logged while the patch was still eligible:\n\n'
-            bubble['details_message'] += self._steps_messages(build) + '\n\n' + self._iso_time(build.complete_at)
+            bubble['details_message'] += self._steps_messages(build)
 
         elif build.result == Buildbot.EXCEPTION:
             bubble['state'] = 'error'
-            bubble['details_message'] = ('An unexpected error occured. Recent messages:\n\n'
-                + self._steps_messages(build) + '\n\n' + self._iso_time(build.complete_at))
+            bubble['details_message'] = 'An unexpected error occured. Recent messages:\n\n' + self._steps_messages(build)
         elif build.result == Buildbot.RETRY:
             bubble['state'] = 'provisional-fail'
-            bubble['details_message'] = ('Build is being retried. Recent messages:\n\n'
-                + self._steps_messages(build) + '\n\n' + self._iso_time(build.complete_at))
+            bubble['details_message'] = 'Build is being retried. Recent messages:\n\n' + self._steps_messages(build)
         elif build.result == Buildbot.CANCELLED:
             bubble['state'] = 'provisional-fail'
-            bubble['details_message'] = ('Build was cancelled. Recent messages:\n\n'
-                + self._steps_messages(build) + '\n\n' + self._iso_time(build.complete_at))
+            bubble['details_message'] = 'Build was cancelled. Recent messages:\n\n' + self._steps_messages(build)
         else:
             bubble['state'] = 'error'
-            bubble['details_message'] = ('An unexpected error occured. Recent messages:\n\n'
-                + self._steps_messages(build) + '\n\n' + self._iso_time(build.complete_at))
+            bubble['details_message'] = 'An unexpected error occured. Recent messages:\n\n' + self._steps_messages(build)
 
         if 'details_message' in bubble:
             bubble['details_message'] = builder_full_name + '\n\n' + bubble['details_message']
+            os_details = self.get_os_details(build)
+            timestamp = self.get_build_timestamp(build)
+            if os_details:
+                bubble['details_message'] += '\n\n' + os_details + '\n' + timestamp
+            else:
+                bubble['details_message'] += '\n\n' + timestamp
 
         return bubble
 
+    def get_os_details(self, build):
+        for step in build.step_set.all():
+            if step.state_string.startswith('OS:'):
+                return step.state_string
+        return ''
+
+    def get_build_timestamp(self, build):
+        if not build.complete_at:  # In-progress build
+            return self._iso_time(build.step_set.last().started_at)
+        return self._iso_time(build.complete_at)
+
     def _iso_time(self, time):
         return '[[' + datetime.datetime.fromtimestamp(time).isoformat() + 'Z]]'
 

Modified: trunk/Tools/ChangeLog (243706 => 243707)


--- trunk/Tools/ChangeLog	2019-04-01 19:45:56 UTC (rev 243706)
+++ trunk/Tools/ChangeLog	2019-04-01 19:48:22 UTC (rev 243707)
@@ -1,5 +1,17 @@
 2019-04-01  Aakash Jain  <aakash_j...@apple.com>
 
+        [ews-app] Display OS and Xcode configuration in status-bubble's hover-over message
+        https://bugs.webkit.org/show_bug.cgi?id=196449
+
+        Reviewed by Lucas Forschler.
+
+        * BuildSlaveSupport/ews-app/ews/views/statusbubble.py:
+        (StatusBubble.get_os_details): Method to get OS and Xcode details.
+        (StatusBubble._build_bubble): Moved the timestamp logic to common method.
+        (StatusBubble.get_build_timestamp): Method to get the timestamp to display for the build.
+
+2019-04-01  Aakash Jain  <aakash_j...@apple.com>
+
         [ews-build] Remove force schedulers from OpenSource EWS Buildbot
         https://bugs.webkit.org/show_bug.cgi?id=196444
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to