[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