[webkit-dev] Introducing brand new EWS

Aakash Jain aakash_jain at apple.com
Thu Apr 4 19:00:26 PDT 2019

Introducing brand new EWS

with EWS for API Tests (for macOS and iOS)

and EWS for WebKitPerl Tests!

Starting today, when you upload a patch to bugs.webkit.org <http://bugs.webkit.org/>, you will see few more bubbles (for API tests and webkitperl tests). You might also see additional button 'Submit to new EWS' (if the patch doesn't have r? flag).

The new EWS comes with many new features and there are lot more I want to add. But, I don't want you guys to wait more to start getting the benefits. That's why I am rolling it out in phases, starting with EWS for API Tests and WebKitPerl Tests. These are tests which are not currently covered by the existing EWS. Next step would be to move queues from existing EWS to new EWS one by one, with the eventual goal of moving over everything to new EWS.

Why new EWS?
The existing EWS has certain architectural limitations. One of the prominent limitation is that there is no concept of building and testing the patch on different queues. If we have three queues: WK1 tests, WK2 tests and API tests, all three queues would need to compile WebKit independently. So WebKit would be compiled thrice instead of once. This is inefficient and thereby require more hardware.

The new EWS has separate builder and tester queues. Builder queues build once and upload the archive. Multiple tester queues download that same archive and run tests on that. That way WebKit is compiled only once, and re-used on multiple tester queues. This improves system efficiency and allows us to add new test queues with substantially less hardware.

The new EWS uses Buildbot at the back-end, which is a production-level CI system. It is easier to maintain and automatically provide various features like historical build logs, real-time log streaming, easier bot management, ability to retry a build etc. Plus, it’s a system most of you are already familiar with (build.webkit.org <http://build.webkit.org/>).

How can you contribute:
If you are interested in contributing, the source code is located at:
ews-build (Buildbot): Tools/BuildSlaveSupport/ews-build
ews-app (web-app): Tools/BuildSlaveSupport/ews-app

Detailed instructions are at: https://trac.webkit.org/wiki/EarlyWarningSystem#ContributingtoEarlyWarningSystem <https://trac.webkit.org/wiki/EarlyWarningSystem#ContributingtoEarlyWarningSystem>

Upcoming features:
- status-bubble should display position in queue https://bugs.webkit.org/show_bug.cgi?id=196607 <https://bugs.webkit.org/show_bug.cgi?id=196607>
- EWS should comment on Bugzilla bugs about failures https://bugs.webkit.org/show_bug.cgi?id=196598 <https://bugs.webkit.org/show_bug.cgi?id=196598>
- EWS should have a way to retry a patch https://bugs.webkit.org/show_bug.cgi?id=196599 <https://bugs.webkit.org/show_bug.cgi?id=196599>
- Security EWS https://bugs.webkit.org/show_bug.cgi?id=196605 <https://bugs.webkit.org/show_bug.cgi?id=196605>

If you notice any issue, please feel free to file bugs (and assign to me).

Thanks & Regards
Aakash Jain
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20190404/2c49bf4e/attachment.html>

More information about the webkit-dev mailing list