Travis CI examples

1 minute read


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. A git commit including [ci skip] will not CI build, that seems to be a de facto standard.

CI Service OS
Travis Mac, Linux
Gitlab Mac, Linux, Windows
Appveyor Windows
Codeship Docker (advanced)


Travis-CI can compile in almost any language, for Mac and Linux, with various compiler versions.

HDF5 + Fortran on Travis is difficult to use, because Ubuntu 14.04 is so old, with:

  • libhdf5-dev on Travis requiring gfortran 4 or 5
  • newest gfortran == 5.4 on Travis via ubuntu-test PPA doesn’t have variable error stop Fortran 2018 feature I commonly use (available in gfortran 6) – but Gfortran 6 isn’t compatible with libhdf5-dev on Ubuntu 14.04

What I do is to use AppVeyor instead for Ubuntu 16.04 and HDF5 Fortran tests.

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


IDL or GDL GNU Data Language: .travis.yml


Pascal: .travis.yml


Appveyor is for Windows and Linux (Ubuntu 16.04), with selectable Windows versions.

Leave a Comment