Skip to content

About the buildbots

Chris Kees edited this page Jan 5, 2017 · 2 revisions

We use Travis for lightweight testing on github, but behind the travis testing and the remote HashDist build caches there is a buildbot system:

Unlike Travis, these buildbots are capable of building the entire stack as well as pushing the binaries (build artifacts) to the remote build caches (see https://github.com/hashdist/hashdist/wiki/How-to-add-remotes). So the reason that Travis and Docker builds are relatively fast is because the remote source and build caches are kept up-to-date by the buildbots.

Learning about buildbot

Here are some short tutorials on buildbot:

Installing a buildbot worker

You might want to install a buildbot worker if you are working on a system that doesn't have a corresponding Docker image and/or you really want the builds to be ON the system (e.g. and HPC machine). In this case, you need to add the buildbot-worker package to your python environment. The default proteus stacks usually include a buildbot-worker entry. If yours doesn't, then add it to your profile (whatever stack/default.yaml links to) and rebuilt the stack (shouldn't take long).

Set up a buildbot worker and start it

Post your OS, compiler, PROTEUS_ARCH, and NAME of the machine where the buildbot worker will run. We'll send you back a line like the following:

buildbot-worker create proteusbasedir try.proteustoolkit.org:9989 NAME PASSWORD

then start start your worker with:

buildbot-workder start proteusbasedir

Note that the running worker inherits the current environment.

Add your worker as a cron job (optional)

On linux something like the following will work.

crontab -e 

Add a line something like

@reboot ${HOME}/proteus/linux2/buildbot-worker start ${HOME}/proteusbasedir

On Mac OS X create a file /Library/LaunchAgents/buildslave.plist like this one

buildslave.plist

and add the following line (create file if necessary) to /etc/launchd.conf

load /Library/LaunchAgents/buildslave.plist