webrtc/tools/continuous_build
kjellander@webrtc.org b28b43a66f Adding alwaysUseLatest parameter for GClient sync.
Removed confusing use of Subversion URL in places where it doesn't have
any effect.

BUG=None
TEST=Successful build with local master and the Chrome slave.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@2103 4adac7df-926f-26a2-2b94-8c16560cd09d
2012-04-24 07:48:21 +00:00
..
build_internal Adding alwaysUseLatest parameter for GClient sync. 2012-04-24 07:48:21 +00:00
OWNERS Try server and buildbot scripts now using Chromium scripts. 2012-03-27 15:57:30 +00:00
README Try server and buildbot scripts now using Chromium scripts. 2012-03-27 15:57:30 +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