We should use Buildbot for OpenSource EWS. Currently our code in QueueStatusServer and webkitpy is implementing functionality similar to buildbot as well as logic for building, testing etc. The codebase is very complicated to navigate and scale. Various enhancements planned for EWS, are already implemented by Buildbot or would be very easy to implement using Buildbot.
Current codebase is not very scalable. Adding a queue requires significant amount of code. For e.g.: https://bugs.webkit.org/show_bug.cgi?id=178480 has large patch to add webkitpy EWS, if using buildbot, this could easily be done in 10-20 lines of code.
Buildbot would make EWS more scalable and easier to work on since we already manage Buildbot instances and many engineers in WebKit have expertise with Buildbot.
Few examples of tasks which would be easier with Buildbot:
- Seeing failures logs in real-time would be automatic with Buildbot <rdar://problem/29490561>
- API tests could be easily added as a buildbot step (https://bugs.webkit.org/show_bug.cgi?id=106596)
- Implementing Security EWS.
- Handling large logs would be easier as well <rdar://problem/34841885>
- Retrying a build would be easier as well.
(In reply to Aakash Jain from comment #0)
> - Seeing failures logs in real-time would be automatic with Buildbot
Filed bug #186823 to implement this feature in the current EWS architecture.
> - API tests could be easily added as a buildbot step
> - Implementing Security EWS.
The patch for bug #186291 implements most of this feature (minus bug comments and uploading of layout test results) in the current EWS architecture.
OpenSource EWS has been running Buildbot in production (with most of the queues moved from old EWS and few new queues like api-tests, services, webkitperl etc).
Rest of the work would be tracked in individual bugs (e.g.: https://bugs.webkit.org/show_bug.cgi?id=201934 https://bugs.webkit.org/show_bug.cgi?id=201932 https://bugs.webkit.org/show_bug.cgi?id=201930).