We are switching to use Linux build agents in Teamcity (via Kubernetes containers), which required pulling in the dotnet global tool of sonarscanner to help facilitate getting Sonar integrated with our .NET Core projects. Everything works except for the coverage. I’m at a loss as to whats happening. We have it all working with our windows agents using the same coverage reporting technique, but they are using an older sonarscanner binary to relay the information up to sonarcloud.
We are using the method of aggregating all of the *.dcvr into a merged file and then creating an HTML coverage file from that using the “merge” and “report” verbs on the tool dotnet-sonarscanner. Looking at the converage.html file, all of the coverage data is there and ready for ingestion. It just doesn’t seem to be getting reflected in SonarCloud. I do not see any issues when sonar-verbose=true is set. The sonar scanner seems to detect the existence of the coverage.html file that we generated. However, it looks like the sonar tooling itself is not transmitting the results up into SonarCloud. We have the sonar.cs.dotcover.reportsPaths=coverage.html configured to force the tooling to look at the coverage file that we generated.
Any thoughts on what else to check? Is this a bug in the scanner? I’ve already had a look at the troubleshooting wiki article that was published back in February in response to others having similar issues with .NET Core & dotcover.