Add build steps to Install Wpe and Gtk Dependencies to EWS configuration. This step is required to install appropriate dependencies before compiling webkit for gtk/wpe.
Created attachment 373334 [details] Patch
Attachment 373334 [details] did not pass style-queue: ERROR: Tools/BuildSlaveSupport/ews-build/steps.py:603: [InstallGtkDependencies.__init__] Use of super on an old style class [pylint/E1002] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps.py:614: [InstallWpeDependencies.__init__] Use of super on an old style class [pylint/E1002] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:485: [TestInstallGtkDependencies.test_success] Instance of 'TestInstallGtkDependencies' has no 'assertEqual' member [pylint/E1101] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:493: [TestInstallGtkDependencies.test_success] Passing unexpected keyword argument 'state_string' in function call [pylint/E1123] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:493: [TestInstallGtkDependencies.test_success] No value passed for parameter 'status_text' in function call [pylint/E1120] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:498: [TestInstallGtkDependencies.test_failure] Instance of 'TestInstallGtkDependencies' has no 'assertEqual' member [pylint/E1101] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:507: [TestInstallGtkDependencies.test_failure] Passing unexpected keyword argument 'state_string' in function call [pylint/E1123] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:507: [TestInstallGtkDependencies.test_failure] No value passed for parameter 'status_text' in function call [pylint/E1120] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:521: [TestInstallWpeDependencies.test_success] Instance of 'TestInstallWpeDependencies' has no 'assertEqual' member [pylint/E1101] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:529: [TestInstallWpeDependencies.test_success] Passing unexpected keyword argument 'state_string' in function call [pylint/E1123] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:529: [TestInstallWpeDependencies.test_success] No value passed for parameter 'status_text' in function call [pylint/E1120] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:534: [TestInstallWpeDependencies.test_failure] Instance of 'TestInstallWpeDependencies' has no 'assertEqual' member [pylint/E1101] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:543: [TestInstallWpeDependencies.test_failure] Passing unexpected keyword argument 'state_string' in function call [pylint/E1123] [5] ERROR: Tools/BuildSlaveSupport/ews-build/steps_unittest.py:543: [TestInstallWpeDependencies.test_failure] No value passed for parameter 'status_text' in function call [pylint/E1120] [5] Total errors found: 14 in 3 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 373334 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=373334&action=review factory.py would be updated to run this build step in subsequent patch. > Tools/BuildSlaveSupport/ews-build/steps.py:597 > + name = 'jhbuild' Not sure why this step is called 'jhbuild'. Copied it from build.webkit.org configuration.
Comment on attachment 373334 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=373334&action=review So I don't see how these new classes get used anywhere? Is it magic? :D >> Tools/BuildSlaveSupport/ews-build/steps.py:597 >> + name = 'jhbuild' > > Not sure why this step is called 'jhbuild'. Copied it from build.webkit.org configuration. JHBuild is a development build environment that everything runs in. Basically it's an overlay on top of the host's system dependencies where we can build and install software to be used inside the JHBuild environment without requiring root. We usually write "jhbuild" because the Shift key requires effort to press. :) > Tools/BuildSlaveSupport/ews-build/steps.py:601 > + haltOnFailure = False Hm, I think failure should be fatal. We have a big problem if the JHBuild step fails. It's unlikely WebKit would actually be able to run successfully in this case anyway.
(In reply to Aakash Jain from comment #3) > Not sure why this step is called 'jhbuild'. Copied it from build.webkit.org > configuration. Missed this. Not magic!
Comment on attachment 373334 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=373334&action=review >> Tools/BuildSlaveSupport/ews-build/steps.py:601 >> + haltOnFailure = False > > Hm, I think failure should be fatal. We have a big problem if the JHBuild step fails. It's unlikely WebKit would actually be able to run successfully in this case anyway. Agree it's a big problem if the JHBuild step fails. I think that problem qualify under 'infrastructure issue', and we should RETRY the build, instead of marking the build as 'FAILED" (which haltOnFailure=True will result into). In EWS "FAILED" build indicate that the patch being tested is bad.
Just to clarify, subsequent build-step 'analyze-compile-webkit-results' will RETRY the build. e.g.: https://ews-build.webkit-uat.org/#/builders/7/builds/316
Comment on attachment 373334 [details] Patch Clearing flags on attachment: 373334 Committed r247080: <https://trac.webkit.org/changeset/247080>
All reviewed patches have been landed. Closing bug.
<rdar://problem/52555552>
(In reply to Aakash Jain from comment #6) > Agree it's a big problem if the JHBuild step fails. I think that problem > qualify under 'infrastructure issue', and we should RETRY the build, instead > of marking the build as 'FAILED" (which haltOnFailure=True will result > into). In EWS "FAILED" build indicate that the patch being tested is bad. Well if the jhbuild step fails, it's probably because the patch has broken the jhbuild.
(In reply to Michael Catanzaro from comment #11) > (In reply to Aakash Jain from comment #6) > > Agree it's a big problem if the JHBuild step fails. I think that problem > > qualify under 'infrastructure issue', and we should RETRY the build, instead > > of marking the build as 'FAILED" (which haltOnFailure=True will result > > into). In EWS "FAILED" build indicate that the patch being tested is bad. > > Well if the jhbuild step fails, it's probably because the patch has broken > the jhbuild. Right I see this here: https://ews-build.webkit.org/#/builders/8/builds/14753 <-- It should have halted on the jhbuild step. I think the jhbuild step should halt on failure. It doesn't make sense to continue with trying to build webkit if that step failed.
> I think the jhbuild step should halt on failure. It doesn't make sense to continue with trying to build webkit if that step failed. Feel free to update 'haltOnFailure' in InstallGtkDependencies/InstallWpeDependencies at https://trac.webkit.org/browser/webkit/trunk/Tools/BuildSlaveSupport/ews-build/steps.py#L797
(In reply to Aakash Jain from comment #13) > > I think the jhbuild step should halt on failure. It doesn't make sense to continue with trying to build webkit if that step failed. > Feel free to update 'haltOnFailure' in > InstallGtkDependencies/InstallWpeDependencies at > https://trac.webkit.org/browser/webkit/trunk/Tools/BuildSlaveSupport/ews- > build/steps.py#L797 Lauro did that on bug 207220