codecov-action
codecov-action copied to clipboard
[v4] exclude_lines from pyproject.toml not respected
In https://github.com/python-trio/trio/pull/2951 we're trying to update to codecov-action@v4, and among other things we noticed a drop in coverage that seems to be due to our exclude_lines setting in pyproject.toml not being respected.
https://github.com/CoolCat467/trio/blob/c806b2056d6c39ee3399eadccb757874ca593f9f/pyproject.toml#L261-L282
ignores, among other things, if TYPE_CHECKING.*: and raise NotImplementedError, but looking at a file such as https://app.codecov.io/gh/python-trio/trio/pull/2951/blob/src/trio/_socket.py we can see lines matching those are marked as misses.
@jakkdl thanks for writing in. Was this a problem before updating to v4? IOW, was the exclude_lines in pyproject.toml being honored on v3 (and still being honored)?
Yeah it's working perfectly fine on v3, hence the drop in coverage when upgrading to v4 (because those lines are no longer excluded and are now seen as "missed").
hi @jakkdl, just need some more details here to get my head clear. Do you have
- a CI link running codecov@v3 where a line is ignored
- a CI link running codecov@v4 where the line is NOT ignored
- a link to where in
pyproject.tomlthis line is being marked as excluded - the path and line number in question?
That would make tracking this done a bit easier.
- https://app.codecov.io/gh/python-trio/trio/blob/master/src%2Ftrio%2F_socket.py#L28
- https://app.codecov.io/gh/python-trio/trio/blob/codecov_v4_repro_cov_fail/src%2Ftrio%2F_socket.py#L28
- https://github.com/python-trio/trio/blob/c806b2056d6c39ee3399eadccb757874ca593f9f/pyproject.toml#L261
- 1 and 2 point directly to the path/lines in question
The original PR I linked in the OP has had changes since, such that it doesn't display the problem (but I think that's because something else broke, rather than us finding a workaround).