Gcov coverage reports were not found when migrating from codecov/codecov-action@v1 to codecov/codecov-action@v2

  Codecov report uploader 0.1.5
[2021-10-13T15:30:53.637Z] ['info'] => Project root located at: /home/runner/work/boinc/boinc
[2021-10-13T15:30:53.640Z] ['info'] -> No token specified or token is empty
[2021-10-13T15:30:53.650Z] ['info'] Searching for coverage files...
[2021-10-13T15:30:53.895Z] ['error'] There was an error running the uploader: No coverage files located, please try use `-f`, or change the project root with `-R`
Error: Codecov: Failed to properly upload: The process '/home/runner/work/_actions/codecov/codecov-action/v2/dist/codecov' failed with exit code 255

Full log

@AenBleidd you will likely need to run gcov in a step before the uploader

Why this was not needed before?
Looks like, some extended guide is required to migrate from v1 to v2, as there is a significant behavior change

See Codecov-action v2 not working (v1 does work) for a similar issue. See Bump codecov/codecov-action from 1 to 2 and add gcov invocation by dependabot[bot] · Pull Request #172 · RemedyIT/taox11 · GitHub for the PR we have for v2, but that drops the coverage significantly, we haven’t found time to look more into that.

1 Like

@AenBleidd @jwillemsen thanks here. The bash (v1) uploader was doing more things under the covers that were not particularly well understood. We had decided to have v2 be more direct, less magic.

The product team is now re-evaluating this strategy thanks to your posts.

1 Like

I ran into this too, was able to figure it out but only after digging through the new uploader’s source code.

I’d be happy with just a sentence or two at Deprecated Uploader Migration Guide saying that you’ll need to run gcov yourself if you’ve been using the bash uploader with default options and *.gcno files. Would’ve saved me a ton of time.

1 Like

Thanks @gknowles I missed updating the docs here.

@AenBleidd @jwillemsen we have added in gcov support into v2 as exists in v1.

@tom, thank you for the update!
What version does include this change?
I tried with Codecov report uploader 0.1.17 and looks like it doesn’t contain it yet.

@AenBleidd happy cake day, do you mind sharing the output from Codecov?

Sure:

Great, updated my PR on taox11 to just use the gcov v2 action, see https://github.com/RemedyIT/taox11/pull/172.

Without running gcov manually in the github action CI it still doesn’t work, see https://pipelines.actions.githubusercontent.com/Fq4aLn43zJMUd2UMPmTH60dIO8edT3ru6RUxiAM1dfiR3xOZXI/_apis/pipelines/1/runs/1547/signedlogcontent/7?urlExpires=2022-02-10T07%3A47%3A58.9882307Z&urlSigningMethod=HMACV1&urlSignature=jbqZQ5qXaZe1GHvzuRbxBTqZnqENvwFwyD84UUBDQOk%3D for the full log,

@AenBleidd @jwillemsen looks like I spoke too early. I’ll put out a new version of the Action which should have the new functionality (but you will need to add arguments)

2 Likes

@AenBleidd @jwillemsen thanks for being patient here. We’ve pushed a new version of the uploader. Can you try again?

@tom I can try again, but do you have a link to some documentation describing which new argument I should add?

@tom, hm, it’s failing now if I just remove manual gcov run: [Codecov] Test by AenBleidd · Pull Request #4668 · BOINC/boinc · GitHub

Anything I’m missing?
As @jwillemsen posted above, documentation would be nice to have

@jwillemsen @AenBleidd this is really embarassing, and I misspoke. We are still deploying that fix. I’ll write up some documentation before pinging back here, and I’m sorry for throwing you both back and forth.

1 Like

@tom, Ok, that’s fine. Please when done, tell us version number also to check that Action uses it. Thanks in advance

@jwillemsen @AenBleidd ok I think it’s actually ready now.

If you are using the Codecov Action, you will need to bump from v2 to v3 and specify gcov: true in the arguments.

@AenBleidd, I used your repo as my guinea pig, so here is a PR with the change.

1 Like