This page is stale and should be updated.
We use Travis CI as our build server. Whenever we push code to the master branch or create a pull request, Travis will try to compile our software, and let us know if there are any issues. Travis is also capable of running tests and letting us know if any fail. These tools help us by catching mistakes shortly after code is pushed, instead of us discovering issues days or weeks later.
Our travis page: https://travis-ci.org/PalouseRobosub
When we push code, Travis will detect this and launch a virtual machine with a fresh Ubuntu install. After booting, the code repository is cloned from github and Travis processes the .travis.yml file located in the root of the repo. This file configures various settings and provides instructions for installing all our software dependencies, compiling our code, and running our tests.
Travis has a lot of ways to publish the results. Currently we have it set up so that slack is notified when the build is broken, with another notification when the build has been fixed.