Version 6 (modified by 4 years ago) ( diff ) | ,
---|
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 bugs.webkit.org 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 pip install buildbot-worker==1.8.2) and point it to ews-build.webkit.org:17000
- Submit a patch adding the bot to config.json appropriately, and get it reviewed and landed.
- email admin@webkit.org 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 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/CISupport/ews-build
ews-app: Tools/CISupport/ews-app
Installing required packages:
sudo pip install buildbot==1.8.2 --no-binary :all: sudo pip install buildbot-www==1.8.2 sudo pip install buildbot-worker==1.8.2
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
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/CISupport/ews-app python manage.py makemigrations python manage.py migrate python manage.py runserver
Navigate to http://localhost:8000
Contact
In case of any issues or questions please email Aakash Jain (aakash_jain@apple.com) and admin@webkit.org