Version 4 (modified by 5 years ago) ( diff ) | ,
---|
WebKit Early Warning System (EWS)
The 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.8.2) and point it to ews-build.webkit.org:17000
- Add the bot name to config.json appropriately.
- email admin@webkit.org 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/BuildSlaveSupport/ews-build
ews-app: Tools/BuildSlaveSupport/ews-app
Installing required packages:
sudo pip install buildbot==1.8.2 --no-binary :all: sudo pip install buildbot-worker==1.8.2
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
WORKER_DIRECTORY=/tmp/buildbot-worker WORKER_NAME=local-worker WORKER_PASSWORD='password' MASTER=localhost:17000 mkdir ${WORKER_DIRECTORY} cd ${WORKER_DIRECTORY} buildbot-worker create-worker --keepalive 120 ${WORKER_DIRECTORY} ${MASTER} ${WORKER_NAME} ${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.