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.
|Travis||MacOS, Linux, Windows|
|Gitlab||MacOS, Linux, Windows|
|Appveyor||Linux, Windows (also MacOS for self-hosted)|
|Azure Pipelines||Linux, MacOS, Windows|
Travis-CI can compile in almost any language, for Linux, Mac and Windows, with various compiler versions. Here are a few categories of simple multi-platform builds on Traavis-CI.
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 / GDL
IDL or GDL GNU Data Language: .travis.yml
Pascal with CMake: .travis.yml
AppVeyor is for Windows and Linux (Ubuntu 18.04), with selectable Windows and Ubuntu versions.
- C++ and Fortran examples