[[PageOutline]] = WebKit Early Warning System (EWS) = The [https://ews-build.webkit.org WebKit Early Warning System] is a designed to help catch build failures/test failures before patches are committed into WebKit. The EWS checks every patch posted for review on bugs.webkit.org using a system of queues, one for each port (e.g. Mac, iOS) as well as run tests (e.g.: API tests, webkitperl tests). EWS consists of two servers: 1) ews-build: This is a Buildbot server. It processes the builds. 2) ews-app: This is a Django based web-app and coordinates between Bugzilla and Buildbot. It retrieves patches from bugzilla and submits them to Buildbot for processing. It also receives results from Buildbot, and display them in status-bubble. == Adding a new EWS Bot == Anyone can add a new EWS bot. Follow these steps to add a new EWS bot: - Install buildbot-worker package on the bot (e.g.: sudo pip install buildbot-worker==1.7.0) and point it to ews-build.webkit.org:17000 - Add the bot name to [https://trac.webkit.org/browser/webkit/trunk/Tools/BuildSlaveSupport/ews-build/config.json config.json] appropriately. - email admin@webkit.org to request restart/reconfig of the Buildbot server. == Contributing to Early Warning System == === Source code Location === ews-build: Tools/BuildSlaveSupport/ews-build ews-app: Tools/BuildSlaveSupport/ews-app === Installing required packages: === {{{ sudo pip install buildbot==1.7.0 --no-binary :all: sudo pip install buildbot-worker==1.7.0 }}} === Configuring Buildbot master === {{{ cd Tools/BuildSlaveSupport/ews-build buildbot create-master -r -c master.cfg . buildbot start }}} Navigate to http://localhost:8010 === Configuring local Buildbot worker === {{{ mkdir /tmp/buildbot-worker cd /tmp/buildbot-worker buildbot-worker create-worker /tmp/buildbot-worker 'localhost:17000' local-worker 'password' buildbot-worker start }}} === Configuring ews-app === {{{ cd Tools/BuildSlaveSupport/ews-app python manage.py makemigrations python manage.py migrate python manage.py runserver }}} Navigate to http://localhost:8000 == Adding a new EWS Queue == Add a new Builder to the Buildbot configuration appropriately in the source code. Then email admin@webkit.org to request restart/reconfig of the Buildbot server.