BuildBot

= Overview = The success of Drizzle will be due to the contributions of the community. You don't have to be a coder to contribute, there are many other areas including testing, documentation and contributing to the build process for example.

Contributing a buildbot slave will help drizzle developers test across a various number of configurations.

= Setup =

To run a buildbot slave, you need to do.


 * 1) Install Buildbot
 * 2) Install Bazaar (used to obtain LaunchPad sourcs)
 * 3) Make sure that all build dependencies are met
 * 4) Send an email to drizzlebuild @ 42sql dot com with the following information
 * 5) * Name (e.g. Joe Bloggs)
 * 6) * OS - Name, Version & Architecture ( CentOS 5 64bit)
 * 7) * uname -a
 * 8) When you get a response, you will receive a build slave name (e.g. centos5_64) and a password (e.g. PaSSw0rd)
 * 9) Follow the following slave instructions.

su - useradd buildbot su - buildbot buildbot create-slave /home/buildbot/slave drizzlebuild.42sql.com:9989 [slavename] [password] cd /home/buildbot/slave/info echo "Put Your Name Here < and some cryptic email text> ” > admin echo “Drizzle - Name Version & Architecture “`uname -a` > host cat admin host cd /home/buildbot/slave buildbot start /home/buildbot/slave > start.log tail -f /home/buildbot/slave/twistd.log
 * 1) Create separate user
 * 2) Recommended but not required to create a separate user
 * 1) Recommended but not required to create a separate user
 * 1) Recommended but not required to create a separate user
 * 1) Create Slave
 * 1) Create Slave
 * 1) e.g. "Ronald Bradford < ronald.bradford @ Google Mail >"
 * 2) e.g. "Drizzle - CentOS 5 64bit -
 * 3) Start Slave
 * 1) Start Slave
 * 1) Start Slave
 * 1) Start Slave

If all working you will be getting output immediately, as well as seeing a status at Drizzle Build Slaves

Full details at Building sources with BuildBot

= (Optional) Add script to /etc/init.d = If you follow all of the instructions provided in the very helpful article provided by Ronald Bradford you may have added the @reboot option to your cron, this is one way to launch buildbot (upon startup) but alternatively you could add a script to your /etc/init.d/ which will start and stop buildbot upon startup and shutdown respectively. nano /etc/init.d/drizzle-buildbot.sh
 * 1) create the script

PATH=/sbin:/bin:/usr/bin do_start { cd /home/buildbot/slave buildbot start /home/buildbot/slave > start.log } do_stop { cd /home/buildbot/slave buildbot stop /home/buildbot/slave } case "$1" in    start|"")         do_start         ;;     stop) do_stop ;;    *)         echo "Usage: drizzle-buildbot.sh start|stop" >&2         exit 3         ;; esac
 * 1) ! /bin/sh
 * 2) set path
 * 1) functions (adjuct to suit your paths)

now you need to just create a symlink to this script into the /etc/rc2.d directory: ln -s /etc/init.d/drizzle-buildbot.sh /etc/rc2.d/S99drizzle-buildbot.sh
 * 1) create symlink

Now, whenever your system is started, buildbot will start.

= Setting search paths =

If your buildbot fails in configure because it cannot find your installation of library dependencies, consider setting the default environment of your buildbot user.

For GCC you can set CPATH and LIBRARY_PATH to add more directories to the default include and library search paths.

This allows you to install e.g. libevent in a non-standard place and still be able to become a buildbot slave without cluttering your standard paths.

= Buildslave Issues =

If you're sure you've met all the dependencies listed on the PackageDependencies page and your slave is still having issues, try BuildSlaveIssues.

BuildBot