Travis-CI for Testing
Earlier this year BioRuby and then Biopython and BioPerl started using Travis-CI.org, a hosted continuous integration service for the open source community, to run their unit tests automatically whenever their GitHub repositories are updated:
The BioRuby team are also using Travis-CI for automated testing of their new ‘plugin’ ecosystem, BioRuby Gems, or BioGems.
Travis-CI gives us continuous testing, but for the moment only covers one operating system (currently 32 bit Ubuntu Linux using Virtual Machines). This automated testing is therefore complementary to our existing OBF BuildBot server which aims to run nightly tests on volunteer developer machines setup to cover a broad range of operating systems and configurations.
However, Travis-CI are working on a new feature – automatic testing of pull requests, currently only available on a donation basis – which the OBF was happy to support.
What this means is that when a contributor has some code ready for integration, they can issue a GitHub pull request, and then Travis-CI will automatically run the unit tests with those proposed changes. This is something that currently the core-developers would normally do manually as part of evaluating proposed changes, so having this happen automatically should be a big help.
We’re excited about making more use of Travis-CI for other OBF projects. Thus far we’ve been really impressed with Travis-CI.