Title: [246609] trunk/Tools
Revision
246609
Author
[email protected]
Date
2019-06-19 13:49:07 -0700 (Wed, 19 Jun 2019)

Log Message

[ews-build] Add step to analyze Compile WebKit failures
https://bugs.webkit.org/show_bug.cgi?id=199025

Reviewed by Jonathan Bedard.

* BuildSlaveSupport/ews-build/steps.py:
(CompileWebKit.evaluateCommand): Add AnalyzeCompileWebKitResults step.
(CompileWebKitToT): set haltOnFailure to False since we need to run AnalyzeCompileWebKitResults step.
(AnalyzeCompileWebKitResults): Class to analyze compile webkit steps results.
(AnalyzeCompileWebKitResults.start): If ToT fails to build, retry the build, else marked the build as failed. Note that
this step is run only when compile-webkit failed.

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/ews-build/steps.py (246608 => 246609)


--- trunk/Tools/BuildSlaveSupport/ews-build/steps.py	2019-06-19 20:34:30 UTC (rev 246608)
+++ trunk/Tools/BuildSlaveSupport/ews-build/steps.py	2019-06-19 20:49:07 UTC (rev 246609)
@@ -617,7 +617,7 @@
     def evaluateCommand(self, cmd):
         if cmd.didFail():
             self.setProperty('patchFailedToBuild', True)
-            self.build.addStepsAfterCurrentStep([UnApplyPatchIfRequired(), CompileWebKitToT()])
+            self.build.addStepsAfterCurrentStep([UnApplyPatchIfRequired(), CompileWebKitToT(), AnalyzeCompileWebKitResults()])
         else:
             self.build.addStepsAfterCurrentStep([ArchiveBuiltProduct(), UploadBuiltProduct(), TransferToS3()])
 
@@ -626,7 +626,7 @@
 
 class CompileWebKitToT(CompileWebKit):
     name = 'compile-webkit-tot'
-    haltOnFailure = True
+    haltOnFailure = False
 
     def doStepIf(self, step):
         return self.getProperty('patchFailedToBuild') or self.getProperty('patchFailedAPITests')
@@ -638,6 +638,35 @@
         return shell.Compile.evaluateCommand(self, cmd)
 
 
+class AnalyzeCompileWebKitResults(buildstep.BuildStep):
+    name = 'analyze-compile-webkit-results'
+    description = ['analyze-compile-webkit-results']
+    descriptionDone = ['analyze-compile-webkit-results']
+
+    def start(self):
+        compile_webkit_tot_result = self.getStepResult(CompileWebKitToT.name)
+
+        if compile_webkit_tot_result == FAILURE:
+            self.finished(FAILURE)
+            message = 'Unable to build WebKit without patch, retrying build'
+            self.descriptionDone = message
+            self.build.buildFinished([message], RETRY)
+            return defer.succeed(None)
+
+        self.finished(FAILURE)
+        self.build.results = FAILURE
+        message = 'Patch does not build'
+        self.descriptionDone = message
+        self.build.buildFinished([message], FAILURE)
+
+        return defer.succeed(None)
+
+    def getStepResult(self, step_name):
+        for step in self.build.executedSteps:
+            if step.name == step_name:
+                return step.results
+
+
 class CompileJSCOnly(CompileWebKit):
     name = 'build-jsc'
     descriptionDone = ['Compiled JSC']

Modified: trunk/Tools/ChangeLog (246608 => 246609)


--- trunk/Tools/ChangeLog	2019-06-19 20:34:30 UTC (rev 246608)
+++ trunk/Tools/ChangeLog	2019-06-19 20:49:07 UTC (rev 246609)
@@ -1,5 +1,19 @@
 2019-06-19  Aakash Jain  <[email protected]>
 
+        [ews-build] Add step to analyze Compile WebKit failures
+        https://bugs.webkit.org/show_bug.cgi?id=199025
+
+        Reviewed by Jonathan Bedard.
+
+        * BuildSlaveSupport/ews-build/steps.py:
+        (CompileWebKit.evaluateCommand): Add AnalyzeCompileWebKitResults step.
+        (CompileWebKitToT): set haltOnFailure to False since we need to run AnalyzeCompileWebKitResults step.
+        (AnalyzeCompileWebKitResults): Class to analyze compile webkit steps results.
+        (AnalyzeCompileWebKitResults.start): If ToT fails to build, retry the build, else marked the build as failed. Note that
+        this step is run only when compile-webkit failed.
+
+2019-06-19  Aakash Jain  <[email protected]>
+
         [ews-build] Send email notifications for failures
         https://bugs.webkit.org/show_bug.cgi?id=198919
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to