webrtc/tools/continuous_build
kjellander@webrtc.org c5ad6092fa Added Chrome+WebRTC bots based on Chrome scripts, for all platforms.
Also removed the old Linux Chrome and Chrome Bloat bots from utils.py.

Some of these changes may seem a bit confusing and messy but they must be considered a step on the way to moving away from our inheritance based Factories into the style Chrome users, where most configuration is in the .cfg files, factory setup is in the factories and step details are put into the commands-files.

BUG=None
TEST=Tested with local master and production slaves.

Review URL: https://webrtc-codereview.appspot.com/581006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2238 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-05-15 09:29:22 +00:00
..

WebRTC buildbots
================
These buildbot setups are based on how Chromium uses Buildbot scripts with their
own customizations of startup and master-slave configurations.

The directory layout and the files inside build_internal/masters are copied from
Chromium's repository and modified for our needs according to the guidelines at
http://goo.gl/kPSSv

One nice advantage with using this, is that all slaves run out of the box by
just syncing the WebRTC tools and the third-party dependencies. No additional
dependencies are required except a Python install.


Setup a tools workspace:
========================
mkdir webrtc-tools
cd webrtc-tools
gclient config http://webrtc.googlecode.com/svn/trunk/tools
gclient sync
cd tools/continuous_build
svn co http://src.chromium.org/svn/trunk/tools/depot_tools
echo pass > build/site_config/.bot_password


To run the build master:
========================
cd tools/continuous_build/build_internal/masters/master.webrtc
make restart


To run the try master:
======================
cd tools/continuous_build/build_internal/masters/master.tryserver.webrtc
make restart


To run a slave:
===============
cd tools/continuous_build/build/slave

There are some variables that can be set for flexible development testing:
* TESTING_SLAVENAME         : Simulates the slave name. Since slave names are
                              based on hostnames, they must be overridden using
                              the this variable in order to run the slave on the
                              local machine.
* TESTING_MASTER            : The master to connect to. We usually use 'WebRTC'
                              or 'TryServer'.
* TESTING_MASTER_HOST       : The host the master is located at.
                              Default: localhost
* RUN_SLAVE_UPDATED_SCRIPTS : Set this to False to avoid checking for updates
                              during startup.

For Windows, make sure to add the --use_buildbot_8 flag to the run_slave.bat
in order to make the tests execute properly.

Examples:
---------

Connect to a running build master:
* Linux and Mac:
TESTING_SLAVENAME=webrtc-cb-linux-slave-1 TESTING_MASTER=WebRTC make restart

* Windows:
set TESTING_SLAVENAME=webrtc-cb-linux-slave-1
set TESTING_MASTER=WebRTC
run_slave.bat --use_buildbot_8

Connect to a running try master:
* Linux and Mac:
TESTING_SLAVENAME=linux-trybot-1 TESTING_MASTER=TryServer make restart

* Windows:
set TESTING_SLAVENAME=linux-trybot-1
set TESTING_MASTER=TryServer
run_slave.bat --use_buildbot_8