In my pursuit to find a build task runner for my code coverage I stumbled on this whole other side of the internet I didn’t know about (from a .Net developer’s perspective). I’ve been using AppVeyor.com for my open-source CI build, which is a great option for anyone with a project on the Microsoft Stack. The cool thing about this (and other similar services) is that if you have an open source project on GitHub, you can use these services with your project for free!
I’m aware this isn’t new, and there are others like Travis-CI.org which run all the other platforms, but I didn’t realise how prolific it really was! Especially how exclusive of microsoft languages they all are. Travis-CI for instance, doesn’t seem to support .Net by looking on their docs page, though there does seem to be mono support in beta (and that didnt exist when i looked a week ago, so will keep an eye on this).
But my main reason for this post, is that I found this cool new (to me any way) Continuous Code Coverage host called coveralls.io. With a cool name like that, and a badge for my project, I’m sold. But wait, lets check those docs again. Yip as I thought, no C# support. They even have C/C++, this is wrong!
Ah but whats this? They have an api? And they want you to add missing support? I think I have to help with this. So now I have looked at the java and python implementations, a little bit of the api documentation, and I now have a project placeholder to support C# from various Code Coverage xml output formats to post that data up to coveralls, at coveralls.net on github. I’ve even got my badges, for coveralls.io ready to go.
So fastforward another week and I have a working prototype done. It’s even showing coverage on coveralls.io, supporting opencover xml format.
So whats left now? finish building it to be reusable by my other projects, publish it to nuget and chocolately and wherever else I need to, and start getting people integrating it into their .Net builds. Probably build out other C# coverage report formats as well, so your not forced to use opencover. Wish me luck!
small side note
So I also found this other continuous code quality metrics thing for python called landscape.io. When will we see this type of thing available for .Net as well? Turns out right now. Check out Coverity Scan Static Analysis (mine needs you to create an account to use, but no permissions to view.)