Revision as of 09:42, 5 October 2017 by Rueden (Add Development category)
Travis is a tool for continuous integration. It has excellent integration with GitHub, and is very useful for automating builds, deployment and other tasks.
- Perform builds of SciJava projects. Travis deploys
SNAPSHOTbuilds to the ImageJ Maven repository in response to pushes to each code repository's
masterbranch. So any downstream projects depending on a version of
LATESTfor a given component will match the last successful Travis build—i.e., the latest code on
- Run each project's associated unit tests. Travis is instrumental in early detection of new bugs introduced to the codebase.
- Perform releases of SciJava projects. Travis deploys release builds to the appropriate Maven repository—typically either the ImageJ Maven repository or OSS Sonatype.
- Keep the javadoc site updated.
- Keep other web resources updated.
Automatic Deployment of Maven Artifacts
- Host your open-source project on GitHub.
- Log in to Travis CI with your corresponding GitHub account and enable your repository.
- Contact an ImageJ admin in Gitter or the ImageJ forum and request that they file a PR which adds Travis support to your repository.
Testing things which cannot run headless
before_script: - "export DISPLAY=:99.0" - "sh -e /etc/init.d/xvfb start" - sleep 3 # give xvfb some time to start
Of course, you should do this only as a last resort, since the best unit tests should not require a display in the first place.