Multiple Coverage Comments

Description

We are receiving several comments on every CI run all of which are the same, one for each coverage -F we upload. This may be related to us using the new carry forward feature, but I cannot be sure. I have tried many different versions of config all with the same problem.

Repository

private

CI/CD

CircleCI

Uploader

bash <(curl -s https://codecov.io/bash) -X gcov -t $CODECOV_TOKEN -s packages/agent -F agent
bash <(curl -s https://codecov.io/bash) -s packages/common -X gcov -s packages/common -F common
bash <(curl -s https://codecov.io/bash) -X gcov -s packages/lambda/messages -F messages
bash <(curl -s https://codecov.io/bash) -X gcov -s packages/api -F api

Commit SHAs

297f00fa068ffe3a4e952f9fc26ce03d828852bd is an example where we get 4 comments because we run four out of 5 test suites.

Codecov YAML

codecov:
  require_ci_to_pass: yes
  notify:
    wait_for_ci: yes
    countdown: 300
    delay: 150

coverage:
  status:
    project:
      common:
        threshold: 1%
        target: auto
        flags:
          - common
      agent:
        threshold: 1%
        target: auto
        flags:
          - agent
      client:
        threshold: 1%
        target: auto
        flags:
          - client
      messages:
        threshold: 1%
        target: auto
        flags:
          - messages
      api:
        threshold: 1%
        target: auto
        flags:
          - api
    patch: no
    changes: no
  precision: 1
  round: down
  range: '25...100'

comment:
  layout: 'reach, diff, flags, files'
  behavior: new
  require_changes: yes
  require_base: no
  require_head: yes

ignore:
  - '**/__tests__/*'
  - '**/__tests__/**/*'
  - 'packages/api/test'
  - '*.test.js'

flags:
  common:
    paths:
      - packages/common
    carryforward: true
  agent:
    paths:
      - packages/agent
    carryforward: true
  client:
    paths:
      - packages/client
    carryforward: true
  messages:
    paths:
      - packages/lambda/messages
    carryforward: true
  api:
    paths:
      - packages/api
    carryforward: true

parsers:
  javascript:
    enable_partials: yes

Codecov Output

==> Circle CI detected.
 
    project root: .
 
    Yaml found at: codecov.yml
 
==> gcov disabled
 
==> Python coveragepy not found
 
==> Searching for coverage reports in:
 
    + packages/agent
 
    -> Found 3 reports
 
==> Detecting git/mercurial file structure
 
==> Reading reports
 
    + packages/agent/coverage/clover.xml bytes=350792
 
    + packages/agent/coverage/lcov.info bytes=195919
 
    + packages/agent/coverage/coverage-final.json bytes=1225263
 
==> Appending adjustments
 
    http://docs.codecov.io/docs/fixing-reports
 
    + Found adjustments
 
==> Gzipping contents
 
==> Uploading reports
 
    url: https://codecov.io
 
    query: branch=dev-554&commit=297f00fa068ffe3a4e952f9fc26ce03d828852bd&build=14699&build_url=&name=&tag=&slug=itrvl%2Fitrvl&service=circleci&flags=agent&pr=&job=0
 
    -> Pinging Codecov
 
https://codecov.io/upload/v4?package=bash-tbd&token=secret&branch=dev-554&commit=297f00fa068ffe3a4e952f9fc26ce03d828852bd&build=14699&build_url=&name=&tag=&slug=itrvl%2Fitrvl&service=circleci&flags=agent&pr=&job=0
 
    -> Uploading
 
    -> View reports at

==> Circle CI detected.
 
    project root: .
 
--> token set from env
 
    Yaml found at: codecov.yml
 
==> gcov disabled
 
==> Python coveragepy not found
 
==> Searching for coverage reports in:
 
    + packages/client
 
    -> Found 3 reports
 
==> Detecting git/mercurial file structure
 
==> Reading reports
 
    + packages/client/coverage/clover.xml bytes=89288
 
    + packages/client/coverage/lcov.info bytes=45569
 
    + packages/client/coverage/coverage-final.json bytes=268930
 
==> Appending adjustments
 
    http://docs.codecov.io/docs/fixing-reports
 
    + Found adjustments
 
==> Gzipping contents
 
==> Uploading reports
 
    url: https://codecov.io
 
    query: branch=dev-554&commit=297f00fa068ffe3a4e952f9fc26ce03d828852bd&build=14699&build_url=&name=&tag=&slug=itrvl%2Fitrvl&service=circleci&flags=client&pr=&job=0
 
    -> Pinging Codecov
 
https://codecov.io/upload/v4?package=bash-tbd&token=secret&branch=dev-554&commit=297f00fa068ffe3a4e952f9fc26ce03d828852bd&build=14699&build_url=&name=&tag=&slug=itrvl%2Fitrvl&service=circleci&flags=client&pr=&job=0
 
    -> Uploading
 
    -> View reports at

==> Circle CI detected.
 
    project root: .
 
--> token set from env
 
    Yaml found at: codecov.yml
 
==> gcov disabled
 
==> Python coveragepy not found
 
==> Searching for coverage reports in:
 
    + packages/common
 
    + packages/common
 
    -> Found 6 reports
 
==> Detecting git/mercurial file structure
 
==> Reading reports
 
    + packages/common/coverage/clover.xml bytes=22833
 
    + packages/common/coverage/lcov.info bytes=9554
 
    + packages/common/coverage/coverage-final.json bytes=66485
 
    + packages/common/coverage/clover.xml bytes=22833
 
    + packages/common/coverage/lcov.info bytes=9554
 
    + packages/common/coverage/coverage-final.json bytes=66485
 
==> Appending adjustments
 
    http://docs.codecov.io/docs/fixing-reports
 
    + Found adjustments
 
==> Gzipping contents
 
==> Uploading reports
 
    url: https://codecov.io
 
    query: branch=dev-554&commit=297f00fa068ffe3a4e952f9fc26ce03d828852bd&build=14699&build_url=&name=&tag=&slug=itrvl%2Fitrvl&service=circleci&flags=common&pr=&job=0
 
    -> Pinging Codecov
 
https://codecov.io/upload/v4?package=bash-tbd&token=secret&branch=dev-554&commit=297f00fa068ffe3a4e952f9fc26ce03d828852bd&build=14699&build_url=&name=&tag=&slug=itrvl%2Fitrvl&service=circleci&flags=common&pr=&job=0
 
    -> Uploading
 
    -> View reports at 

==> Circle CI detected.
 
    project root: .
 
--> token set from env
 
    Yaml found at: codecov.yml
 
==> gcov disabled
 
==> Python coveragepy not found
 
==> Searching for coverage reports in:
 
    + packages/lambda/messages
 
--> No coverage report found.
 
    Please visit http://docs.codecov.io/docs/supported-languages

==> Circle CI detected.
 
    project root: .
 
--> token set from env
 
    Yaml found at: codecov.yml
 
==> gcov disabled
 
==> Python coveragepy not found
 
==> Searching for coverage reports in:
 
    + packages/api
 
    -> Found 3 reports
 
==> Detecting git/mercurial file structure
 
==> Reading reports
 
    + packages/api/coverage/clover.xml bytes=246300
 
    + packages/api/coverage/lcov.info bytes=101049
 
    + packages/api/coverage/coverage-final.json bytes=705172
 
==> Appending adjustments
 
    http://docs.codecov.io/docs/fixing-reports
 
    + Found adjustments
 
==> Gzipping contents
 
==> Uploading reports
 
    url: https://codecov.io
 
    query: branch=dev-554&commit=297f00fa068ffe3a4e952f9fc26ce03d828852bd&build=14699&build_url=&name=&tag=&slug=itrvl%2Fitrvl&service=circleci&flags=api&pr=&job=0
 
    -> Pinging Codecov
 
https://codecov.io/upload/v4?package=bash-tbd&token=secret&branch=dev-554&commit=297f00fa068ffe3a4e952f9fc26ce03d828852bd&build=14699&build_url=&name=&tag=&slug=itrvl%2Fitrvl&service=circleci&flags=api&pr=&job=0
 
    -> Uploading
 
    -> View reports at

Additional Information

I think this may be related to the fact that we are in a mono-repo where we don’t always run all the test suites, only those that have changes and turned on carry-forward to try to deal with that.

Hi @nickpalmer, would you be able to supply a newer commit SHA? Just to be sure I understand, you’re seeing the codecov-commenter writing multiple PR comments?