[Proj] Travis-CI + Coveralls setup

Even Rouault even.rouault at spatialys.com
Sat Jun 20 16:35:03 PDT 2015


Hi,

I've setup Travis-CI to run builds on commit pushes (and pull requests) to 
https://github.com/OSGeo/proj.4

The script https://github.com/OSGeo/proj.4/blob/master/.travis.yml does the 
following combinations:
- gcc / clang
- cmake build / autoconf build
- with / without http://download.osgeo.org/proj/proj-datumgrid-1.5.zip

So 8 combinations in less than 5 minutes :-)

It does also "make check", but only for the autoconf setup since the target 
doesn't appear to be implemented for cmake.

I've also included coverage report of the test suite with the Coveralls 
service. And that confirms my intuition that there would be place for 
improvements: 28% line coverage

The .travis.yml conf could certainly be improved, but that's a start.

Travis results at https://travis-ci.org/OSGeo/proj.4/builds
Coverage results at https://coveralls.io/r/OSGeo/proj.4


Similarly to what I've done for GDAL, I've also used a trick to makes builds 
with MacOSX and MinGW. I've a regular cron job (scheduled every 15 minutes 
currently) that merges proj.4 master into my fork, in 2 dedicated branches, 
https://github.com/rouault/proj.4/tree/travis_osx and 
https://github.com/rouault/proj.4/tree/travis_mingw, and pushes the result of 
the merge to github, so that Travis builds happen (that can break in case 
.travis.yml in master is changed, in which case manual merge might be 
required). The mingw target doesn't run the tests, "make check" being not 
ready for that.

Results for MacOSX and MinGW at https://travis-ci.org/rouault/proj.4/branches

Of course, those 2 last targets are only triggered after pushes to master, not 
pull requests.

Even

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com



More information about the Proj mailing list