Travis CI Continuous Integration service (self-check code on each
git push) has free private builds for educational users, and free public builds for all.
Free continuous integration
These CI services are free for public repositories.
Some have usage limits (e.g. minutes/month).
Even for unlimited services like Travis CI, I cancel build jobs if I make
git push in quick succession to save their resources from unneeded builds I know have errors.
git commit including
[ci skip] will not CI build, that seems to be a de facto standard.
|Gitlab||Mac, Linux, Windows|
Travis-CI can compile in almost any language, across operation system versions and compiler versions.
Here are a few categories of simple multi-platform builds.
Python + Fortran
Python compiling 40 year old Fortran code: .travis.yml
C + HDF5 + Cmake
IPv6 C with HDF5 writing and Cmake: .travis.yml
C++ + Cmake
C++ and Cmake: .travis.yml
Who ever thought Pascal: .travis.yml was obsolete?
Quick Start Travis-CI
- Create a free travis-ci.org account–perhaps using your Github credentials
- add a repository to Travis-CI
- copy a
.travis.ymltemplate from one of the examples above–for Python, a
tests/test.pyfile is expected. Make some very simple test, perhaps look at one of the examples for ideas.
The key point is that Travis CI considers only
stderr == / != 0 for pass/fail:
A third case is an ERROR in setup, perhaps a misconfigured
setup.py in your project or missing prereq.