GitHub Check not properly handling subsets of files

Description

Nice to see CodeCov show up as a GitHub check (rather than “just” the PR status). However, with that it seems to not be handling correctly the “subsets” of coverage I have set up:

coverage:
  status:
    patch:
      default:
        target: '80'
    project:
      library:
        target: auto
        threshold: 0.1%
        paths:
          - "src/metpy/.*"

      tests:
        target: 100%
        paths:
          - "tests/.*"
          - "src/metpy/testing.py"

What I’m seeing on this PR is that the reported coverage for all subsets is 96.14% (total project coverage). This fails the “tests” subset, which requires (and is actually at) 100%. It’s also inflating the main library coverage from 93.68%.

Repository

CI/CD

A combination of GitHub Actions and TravisCI.

Uploader

Using the Python codecov uploader on TravisCI and using the codecov official GitHub Action for uploading coverage.

Commit SHAs

7f4842bd518cc1f4062033f5b72b957e1dfe2a96

Codecov YAML

codecov:
  notify:
    require_ci_to_pass: no

coverage:
  status:
    patch:
      default:
        target: '80'
    project:
      library:
        target: auto
        threshold: 0.1%
        paths:
          - "src/metpy/.*"

      tests:
        target: 100%
        paths:
          - "tests/.*"
          - "src/metpy/testing.py"

  notify:
    gitter:
      default:
        url: "https://webhooks.gitter.im/e/301b8fd7792e1a48b034"

comment: off

Thanks for this @dopplershift, we’ll take a look and figure out why this is happening!

Hi @dopplershift, just an update that we are still taking a look at this. Thanks for your patience here.

Hi @dopplershift, we made a patch to this. Would you see if it’s still an issue for you?

Doesn’t seem to have fixed it: IO Updates by dopplershift · Pull Request #1476 · Unidata/MetPy · GitHub

@dopplershift, might have been a delay. I’m looking at that link and it looks accurate to me now.

Yes, things do seem to be working correctly now. Thanks!