[GeoNode-devel] About suggestion to switch between Coveralls or Codecov

Rizky Maulana Nugraha rizky at kartoza.com
Tue Oct 31 03:12:17 PDT 2017

Hi everyone,

Following our discussion here: https://github.com/GeoNode/geonode/pull/3378 <https://github.com/GeoNode/geonode/pull/3378> about Codecov, I would like to explain a little bit more about Codecov.

Codecov.io <http://codecov.io/> is a coverage reporting tools, similar with coveralls.io <http://coveralls.io/>.
The reason why I propose to switch to codecov is the ability to report on aggregate coverage.
This ability and reason is further described here: https://github.com/GeoNode/geonode/issues/3362 <https://github.com/GeoNode/geonode/issues/3362>

In summary:
Kartoza is trying to push QGIS Server backend functionality upstream. This allows GeoNode to communicate with QGIS Server Backend (as its OGC Backend).
We are just trying to provide an alternative backend and not replacing GeoServer, so when you use GeoServer, you can’t use QGIS Server backend, and the other way around.
GeoServer backend is also a lot more mature and deeply integrated with GeoNode, so there are many functionalities in GeoServer that QGIS Server doesn’t have yet.
With this in mind, we propose that we configure a paralellized CI job to run unittests on Travis, each for GeoServer and QGIS Server.
These configuration will run GeoNode unittests with GeoServer as a backend, and also run GeoNode unittests with QGIS Server as a backend.
When each job is completed, the coverage on each job will obviously report code coverage related with each backend only.
In other words, job for GeoServer will not cover codes for QGIS Server and the other way around.
This makes coveralls report a significantly lower coverage for both, and the one that will be shown on the badge is coming from the last job.
Coveralls also doesn’t support aggregate coverage (AFAIK at the time we wrote codes for QGIS Server backend), more details can be seen on this old issue:
https://github.com/lemurheavy/coveralls-public/issues/613 <https://github.com/lemurheavy/coveralls-public/issues/613>
This is the main reason why we propose to switch to codecov. Codecov are able to aggregate the coverage report from each build job, so we get the total coverage.

However, today after a little bit of research, I found out that now coveralls also support parallel build. We can see it here: http://docs.coveralls.io/parallel-build-webhook <http://docs.coveralls.io/parallel-build-webhook>
But I haven’t tried this one because I’m not aware of it exists previously before switching to codecov. We can also try this one but I didn’t have access to REPO_TOKEN.

So, in this email I just want to let other developer know of the situations and options. We can discuss what the dev community prefers.
For myself, I’m fine with either way, as long as it can support aggregate coverage.

Rizky Maulana Nugraha
Software Developer
rizky at kartoza.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geonode-devel/attachments/20171031/20c9f287/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Message signed with OpenPGP
URL: <http://lists.osgeo.org/pipermail/geonode-devel/attachments/20171031/20c9f287/attachment.sig>

More information about the geonode-devel mailing list