Multiple coverage reports

Description

I’m in an NX projects where I have coverage reports for my apps in different directories. See tree.
image
As my project expands I’ll have a tree like coverage/libs/my-lib on top of the apps. How would I upload the coverage reports for all of the projects?

Commit SHAs

All, here’s a few though.

43c4576ca0e2e893847ea712566f4f16d7c30a8a
697a7ae5dc793796f0ce451b53b1cdf3b11e72d2
b626df4624df7491760d6d67694ac648b8d516f7

Repository

CI/CD or Build URL

Actions: Actions · Xenfo/atomic · GitHub
One action (check “Upload coverage to CodeCov”): fix(codecov): fix · Xenfo/atomic@7223807 · GitHub

Uploader

GitHub Actions.

Codecov Output

/usr/bin/bash codecov.sh -n  -F  -Q github-action -C 07f4e2453c96af4664029a96a843940745265c18

  _____          _
 / ____|        | |
| |     ___   __| | ___  ___ _____   __
| |    / _ \ / _` |/ _ \/ __/ _ \ \ / /
| |___| (_) | (_| |  __/ (_| (_) \ V /
 \_____\___/ \__,_|\___|\___\___/ \_/
                              Bash-1.0.2


==> git version 2.31.1 found
==> curl 7.68.0 (x86_64-pc-linux-gnu) libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
Release-Date: 2020-01-08
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smb smbs smtp smtps telnet tftp 
Features: AsynchDNS brotli GSS-API HTTP2 HTTPS-proxy IDN IPv6 Kerberos Largefile libz NTLM NTLM_WB PSL SPNEGO SSL TLS-SRP UnixSockets
==> GitHub Actions detected.
    Env vars used:
      -> GITHUB_ACTIONS:    true
      -> GITHUB_HEAD_REF:   dependabot/npm_and_yarn/eslint-plugin-react-7.24.0
      -> GITHUB_REF:        refs/pull/69/merge
      -> GITHUB_REPOSITORY: Xenfo/atomic
      -> GITHUB_RUN_ID:     892711541
      -> GITHUB_SHA:        ba53d17b6f9a5c8138f288d1c8cf694d805df3a4
      -> GITHUB_WORKFLOW:   CI/CD
    project root: .
    Yaml not found, that's ok! Learn more at http://docs.codecov.io/docs/codecov-yaml
==> Running gcov in . (disable via -X gcov)
==> Python coveragepy not found
==> Searching for coverage reports in:
    + .
--> No coverage report found.
    Please visit http://docs.codecov.io/docs/supported-languages

Expected Results

Find my coverage reports and upload them.

Actual Results

Coverage isn’t found.

Additional Information

N/A

I made a codecov.yml but coverage reports still aren’t found. Maybe I’m doing something wrong?

coverage:
  status:
    project:
      default:
        target: auto
      frontend:
        target: auto
        flags:
          - frontend
      backend:
        target: auto
        flags:
          - backend
      gateway:
        target: auto
        flags:
          - gateway

comment:
  layout: "reach, diff, flags, files"
  behavior: default
  require_changes: false
  require_base: yes
  require_head: yes
  branches: [master]

flags:
  frontend:
    paths:
      - apps/frontend/**/*.{ts,tsx}
    carryforward: true
  backend:
    paths:
      - apps/backend/**/*.{ts,tsx}
    carryforward: true
  gateway:
    paths:
      - apps/gateway/**/*.{ts,tsx}
    carryforward: true

I’ve gotten it to work, turned out to be how NX outputted coverage. I would like to know if there’s a way to cut down on the amount of this and it I’m able to have it show coverage for Frontend, Backend, etc. in

I would also like to know if I don’t upload coverage for the backend in one commit, will that break my coverage?

And last thing, where would I check tags on my Codecov dash?

Hi @XenfoMC, sorry frot delaying here. The images above don’t seem to be showing up, but let me see if I can help anyways.

If you do not upload coverage for backend in a commit, that could cause a change in coverage percentage. I’d take a look into carryforward flags which fits this use case.

I don’t believe it is possible to check tags on the Codecov dash, but I’ll ping the product team about adding that as a feature request.