<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hi everyone,<div class=""><br class=""></div><div class="">Following our discussion here: <a href="https://github.com/GeoNode/geonode/pull/3378" class="">https://github.com/GeoNode/geonode/pull/3378</a> about Codecov, I would like to explain a little bit more about Codecov.</div><div class=""><br class=""></div><div class=""><a href="http://Codecov.io" class="">Codecov.io</a> is a coverage reporting tools, similar with <a href="http://coveralls.io" class="">coveralls.io</a>.</div><div class="">The reason why I propose to switch to codecov is the ability to report on aggregate coverage.</div><div class="">This ability and reason is further described here: <a href="https://github.com/GeoNode/geonode/issues/3362" class="">https://github.com/GeoNode/geonode/issues/3362</a></div><div class=""><br class=""></div><div class="">In summary:</div><div class="">Kartoza is trying to push QGIS Server backend functionality upstream. This allows GeoNode to communicate with QGIS Server Backend (as its OGC Backend).</div><div class="">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.</div><div class="">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.</div><div class="">With this in mind, we propose that we configure a paralellized CI job to run unittests on Travis, each for GeoServer and QGIS Server.</div><div class="">These configuration will run GeoNode unittests with GeoServer as a backend, and also run GeoNode unittests with QGIS Server as a backend.</div><div class="">When each job is completed, the coverage on each job will obviously report code coverage related with each backend only.</div><div class="">In other words, job for GeoServer will not cover codes for QGIS Server and the other way around.</div><div class="">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.</div><div class="">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: </div><div class=""><a href="https://github.com/lemurheavy/coveralls-public/issues/613" class="">https://github.com/lemurheavy/coveralls-public/issues/613</a></div><div class="">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.</div><div class=""><br class=""></div><div class="">However, today after a little bit of research, I found out that now coveralls also support parallel build. We can see it here: <a href="http://docs.coveralls.io/parallel-build-webhook" class="">http://docs.coveralls.io/parallel-build-webhook</a></div><div class="">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.</div><div class=""><br class=""></div><div class="">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.</div><div class="">For myself, I’m fine with either way, as long as it can support aggregate coverage.</div><div class=""><br class=""></div><div class="">Regards,<br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">-- </div><div class="">Rizky Maulana Nugraha</div><div class="">Software Developer</div><div class=""><a href="mailto:rizky@kartoza.com" class="">rizky@kartoza.com</a></div><div class=""><br class=""></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">

</div>
<br class=""></div></body></html>