@jheimbuck_gl - I am facing a similar issue on a self-hosted GitLab instance (version 13.2.4). I am essentially using the gradle example configuration from the code coverage example documentation. Like @orthodoz I see that the cobertura-coverage.xml file is uploaded and I can download it from the pipeline (although it is cobertura-coverage.xml.gz at that point). In my cobertura-coverage.xml file, the source tag is set to
src/main/java and each of the filename attributes on the class elements also starts with
I tried to search through some of the source code and debug a little, but I haven’t really done any work with Vue or Ruby, so progress is a little slow. On the browser side, stepping through some of the JS code, it seems that endpointCoverage is not set and therefore fetchCoverageFiles is never called for me, but I have not been able to trace that back to what condition is missing on the backend.
Here are a few things I have tried without success:
- gradle example exactly as shown in the documentation
- change the XML file name to match the “default” name shown in the ruby code
- upload the XML file as a plain artifact and a report artifact
- running in a branch pipeline vs merge (detached) pipeline
- both the source and target branches having a coverage report
Below is a snippet from the logs of the job uploading the artifact:
$ python3 /opt/cover2cover.py build/jacoco/jacoco.xml src/main/java > build/cobertura-coverage.xml
$ python3 /opt/source2filename.py build/cobertura-coverage.xml
Uploading artifacts for successful job
build/cobertura-coverage.xml: found 1 matching files and directories
Uploading artifacts as "cobertura" to coordinator... ok id=5413 responseStatus=201 Created token=******
Unfortunately, I also cannot provide access to my project as it is proprietary, but I would be happy to provide what additional information I can.