It’s been a long time since I last wrote about any kind of testing, and one of the most basic forms is making sure your build compiles as a step of continuous integration.
This has been added to ioquake3’s github with the Travis service.
What this means is that every time one of your friendly neighborhood ioquake3 team members makes a commit, travis will pull down a copy of the codebase from github to a fresh virtual machine, read our instructions, and follow them to compile our codebase with a script that we’ve created.
If the build succeeds, great!
If the build fails, then, oh no! Somebody screwed up and let me write code again. A bot is dispatched by travis to our irc chat compound (irc.freenode.net #ioquake3) to let us know and will let everyone know which commit broke the build. The author will then receive the depicted ghost of shame in the mail within 64-128 weeks.
Currently we’re telling Travis to build for mingw (under Linux) and Linux itself with various options and it takes about 14 minutes to complete the operation.
In the future we hope to figure out a way save the builds Travis creates to the ioquake3 website so that we can offer you more expedited builds.
Travis’ website suggests a method that involves Amazon S3 but we are interested in other storage solutions.