WebKit Early Warning System (EWS)

The WebKit Early Warning System is pre-commit testing infrastructure, designed to help catch build/test failures before patches are committed into WebKit resository. EWS checks every patch posted for review on on various OSes (e.g. macOS, iOS, Linux, Windows), using various test suites (e.g.: layout tests, API tests, webkitperl tests, webkitpy tests, jsc tests etc.) in various configurations (e.g.: Debug, Release).

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 pip3 install buildbot-worker==2.10.2) and point it to
  • Submit a patch adding the bot to config.json appropriately, and get it reviewed and landed.
  • email to request restart/reconfig of the Buildbot server.

Adding a new EWS Queue

Add a new Builder to the Buildbot configuration appropriately in the source code. Then email to request restart/reconfig of the Buildbot server.

Contributing to Early Warning System

All code changes go through the normal WebKit code review process.

Source code Location

ews-build: Tools/CISupport/ews-build

ews-app: Tools/CISupport/ews-app

Installing required packages:

sudo pip3 install buildbot==2.10.5 --no-binary :all:
sudo pip3 install Twisted==21.2.0 --no-binary :all:
sudo pip3 install buildbot-www==2.10.5
sudo pip3 install buildbot-worker==2.10.5

Configuring Buildbot master

cd Tools/CISupport/ews-build
buildbot create-master -r -c master.cfg .
buildbot start

Navigate to http://localhost:8010

Configuring local Buildbot worker


buildbot-worker create-worker --keepalive 120 ${WORKER_DIRECTORY} ${MASTER} ${WORKER_NAME} ${WORKER_PASSWORD}
buildbot-worker start

Configuring ews-app

cd Tools/CISupport/ews-app
python makemigrations
python migrate
python runserver

Navigate to http://localhost:8000


In case of any issues or questions please email Aakash Jain ( and

Last modified 3 years ago Last modified on Apr 9, 2021 11:55:58 AM