lemurheavy / coveralls-public

The public issue tracker for coveralls.io
http://coveralls.io
124 stars 7 forks source link

Status 500 trying to see dotnet cobertura format coverage #1729

Open anishkny opened 10 months ago

anishkny commented 10 months ago

I am trying to upload Cobertura format XML reports to Coveralls generated from running some tests on a dotnet server.

See: https://coveralls.io/jobs/127288877

Job: https://github.com/anishkny/dotnet-minimal-api-example/actions/runs/5993341967/job/16253678531?pr=14#step:8:27

Workflow file: https://github.com/anishkny/dotnet-minimal-api-example/actions/runs/5993341967/workflow?pr=14#L30

What am I doing wrong?

afinetooth commented 10 months ago

Hi, @anishkny. I'm not seeing anything that's obviously wrong to me with that build. Can you explain the result you're getting that you're not expecting?

Just my quick observations: We received you coverage report and it looks normal as far as its format and the coverage stats for each file. Your single job build completed just fine and your coverage % for the build was calculated at 60%.

I suspect your directory tree might look the way you expect, or that some of your coverage is missing, which indicates you may need to pass a value for base-path) to help the integration find all submodules in your project (if they exist in different subdirectories from root).

Otherwise, the other potential issue I see is that you're not getting PR Comments, or GitHub Status Updates that seem accurate/relevant and that's because Coveralls can't find the base build for your pull_request build, which is typically a push build on your default branch. This is a typical snafu when you're just getting setup: You've gotten the Coveralls code working in your PR, but you haven't merged the Pr into your default branch yet, which means that Coveralls can't compare the initial PR's coverage to it's base build, which live on the default branch. You'll simply want to merge your Coveralls config code into main, so that your GitHub Actions workflow sends us a coverage report for at least one push build on main. Then, the next PR you submit commits for should send coverage reports that can reference the push build(s) as their base build(s). PR Comments and Status Updates need "base builds" or "previous builds" to determine the coverage change, which is the content of their messages. Otherwise, you'll get a generic message like, "First build on ."

Hope those guesses are helpful.

anishkny commented 10 months ago

@afinetooth thanks for responding. I can confirm now I do not see the issue. Must have been a transient one.

Although, I do have one more question. Why don't I see Condition (aka branch) coverage in the report: e.g. for Line 53 which has an if condition: https://coveralls.io/jobs/127288877/source_files/13373600034#L53

Here is the coverage.xml file that was uploaded with a 50% branch coverage: https://gist.github.com/anishkny/4bf95d0a39064e4192955027bd8bb9ee#file-coverage-xml-L1858