Bug 215174

Summary: EWS emails about build failure should include relevant error logs
Product: WebKit Reporter: Aakash Jain <aakash_jain>
Component: Tools / TestsAssignee: Aakash Jain <aakash_jain>
Status: RESOLVED FIXED    
Severity: Normal CC: ap, jbedard, rackler, ryanhaddad, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=203418
https://bugs.webkit.org/show_bug.cgi?id=215264
https://bugs.webkit.org/show_bug.cgi?id=215330
https://bugs.webkit.org/show_bug.cgi?id=216566
Bug Depends on:    
Bug Blocks: 215220    
Attachments:
Description Flags
Patch
none
Patch none

Description Aakash Jain 2020-08-05 10:44:07 PDT
EWS emails about build failure should include relevant error logs. It would make it easier to quickly identify the issue from the email itself.

These logs will be filtered/shortened version of error logs which are displayed in Buildbot build (which were added in Bug 203418).

Currently these emails are enabled only for bot-watchers, but when we will enable them for engineers, having relevant error logs in email would be useful.
Comment 1 Aakash Jain 2020-08-05 10:49:27 PDT
Created attachment 406012 [details]
Patch
Comment 2 Aakash Jain 2020-08-05 11:02:55 PDT
Tested in https://ews-build.webkit-uat.org/#/builders/33/builds/274
Comment 3 Jonathan Bedard 2020-08-05 11:18:53 PDT
Comment on attachment 406012 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=406012&action=review

> Tools/BuildSlaveSupport/ews-build/steps.py:-1398
> -        return defer.succeed(None)

Was this line removed intentionally?

> Tools/BuildSlaveSupport/ews-build/steps.py:1408
> +    def getResults(self, name):

What is the return value of this function? I ask because it looks like @defer.inlineCallbacks is overriding that.

> Tools/BuildSlaveSupport/ews-build/steps.py:1411
> +            defer.returnValue(None)

This looks like an early exit, but I'm not familiar with this 'defer' idiom, do we not need to return so we exit early?
Comment 4 Aakash Jain 2020-08-05 12:41:11 PDT
Comment on attachment 406012 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=406012&action=review

>> Tools/BuildSlaveSupport/ews-build/steps.py:-1398
>> -        return defer.succeed(None)
> 
> Was this line removed intentionally?

Yes, it was moved. This line belonged to start() method earlier, and now also it belongs to start() method.

>> Tools/BuildSlaveSupport/ews-build/steps.py:1411
>> +            defer.returnValue(None)
> 
> This looks like an early exit, but I'm not familiar with this 'defer' idiom, do we not need to return so we exit early?

Yes. Also this method is mostly copied from AnalyzeAPITestsResults::getTestsResults()
Comment 5 Aakash Jain 2020-08-05 12:43:47 PDT
Created attachment 406026 [details]
Patch
Comment 6 EWS 2020-08-05 13:41:36 PDT
Committed r265302: <https://trac.webkit.org/changeset/265302>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 406026 [details].
Comment 7 Radar WebKit Bug Importer 2020-08-05 13:42:18 PDT
<rdar://problem/66591524>