Hello,
Description
I have a project with frontend and backend directories and I would like to show the coverage separatly.
So I have 4 reports :
I run unit and functional tests in backend code.
I run unit and e2e tests in frontend code.
I then created 6 tags :
- one for each report (front-unit, front-e2e, back-unit, back-functional)
- frontend and backend
When I upload the reports I associate the following tags
Backend functional tests report => backend,back-functional
Backend unit tests report => backend,back-unit
Frontend e2e tests report => frontend,back-e2e
Frontend unit tests report => frontend,back-unit
I’ve created this yml file : template-symfony-vuejs/codecov.yml at master · mp3000mp/template-symfony-vuejs · GitHub
Commit SHAs
d5375ee49feca5dd5708fededca1e68c39ee77f8
Repository
CI/CD or Build URL
Github action :
back: codecov badge test · mp3000mp/template-symfony-vuejs@d5375ee · GitHub
front: codecov badge test · mp3000mp/template-symfony-vuejs@d5375ee · GitHub
Uploader
Bash
Codecov Output
bash <(curl -s https://codecov.io/bash) -F backend,back-functional -f "./ci/coverage/functional/clover.xml"
shell: /usr/bin/bash -e {0}
_____ _
/ ____| | |
| | ___ __| | ___ ___ _____ __
| | / _ \ / _` |/ _ \/ __/ _ \ \ / /
| |___| (_) | (_| | __/ (_| (_) \ 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:
-> GITHUB_REF: refs/heads/master
-> GITHUB_REPOSITORY: mp3000mp/template-symfony-vuejs
-> GITHUB_RUN_ID: 835515086
-> GITHUB_SHA: d5375ee49feca5dd5708fededca1e68c39ee77f8
-> GITHUB_WORKFLOW: Backend CI
project root: /home/runner/work/template-symfony-vuejs/template-symfony-vuejs
Yaml found at: codecov.yml
-> Found 1 reports
==> Detecting git/mercurial file structure
==> Reading reports
+ ./ci/coverage/functional/clover.xml bytes=28015
==> Appending adjustments
https://docs.codecov.io/docs/fixing-reports
find: ‘./deployment/docker/mariadb_test/db/mysql’: Permission denied
find: ‘./deployment/docker/mariadb_test/db/db_test’: Permission denied
find: ‘./deployment/docker/mariadb_test/db/performance_schema’: Permission denied
find: ‘./deployment/docker/mariadb_test/db/mysql’: Permission denied
find: ‘./deployment/docker/mariadb_test/db/db_test’: Permission denied
find: ‘./deployment/docker/mariadb_test/db/performance_schema’: Permission denied
find: ‘./deployment/docker/mariadb_test/db/mysql’: Permission denied
find: ‘./deployment/docker/mariadb_test/db/db_test’: Permission denied
find: ‘./deployment/docker/mariadb_test/db/performance_schema’: Permission denied
+ Found adjustments
==> Gzipping contents
24K /tmp/codecov.eufLHk.gz
==> Uploading reports
url: https://codecov.io
query: branch=master&commit=d5375ee49feca5dd5708fededca1e68c39ee77f8&build=835515086&build_url=http%3A%2F%2Fgithub.com%2Fmp3000mp%2Ftemplate-symfony-vuejs%2Factions%2Fruns%2F835515086&name=&tag=&slug=mp3000mp%2Ftemplate-symfony-vuejs&service=github-actions&flags=backend,back-functional&pr=&job=Backend%20CI&cmd_args=F,f
-> Pinging Codecov
https://codecov.io/upload/v4?package=bash-1.0.2&token=secret&branch=master&commit=d5375ee49feca5dd5708fededca1e68c39ee77f8&build=835515086&build_url=http%3A%2F%2Fgithub.com%2Fmp3000mp%2Ftemplate-symfony-vuejs%2Factions%2Fruns%2F835515086&name=&tag=&slug=mp3000mp%2Ftemplate-symfony-vuejs&service=github-actions&flags=backend,back-functional&pr=&job=Backend%20CI&cmd_args=F,f
-> Uploading to
https://storage.googleapis.com/codecov/v4/raw/2021-05-12/44B7AB162A85CFBC0A698311CA5E5D6A/d5375ee49feca5dd5708fededca1e68c39ee77f8/f37ce4d2-d669-46be-8f8f-675704592385.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GOOG1EQM3VGPYSAFECJRMNAFIPCV2R3P2BOORCJC7NM537NPJQSFLHUDNIDWA%2F20210512%2FUS%2Fs3%2Faws4_request&X-Amz-Date=20210512T125751Z&X-Amz-Expires=10&X-Amz-SignedHeaders=host&X-Amz-Signature=848c2ac207c2e16ea9ab6f41b552cd63e5acbdcf7a29116915f1ff4c4efb6735
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 22639 0 0 100 22639 0 149k --:--:-- --:--:-- --:--:-- 149k
-> Reports have been successfully queued for processing at https://codecov.io/github/mp3000mp/template-symfony-vuejs/commit/d5375ee49feca5dd5708fededca1e68c39ee77f8
Expected Results
I would expect the backend coverage to be the union of back-unit and back-functional coverage and the frontend to be the union of front-unit and front-e2e. But it’s not.
Actual Results
It seems backend and frontend keep the coverage of the first report uploaded with these tags :
Backend badge (4%) => https://codecov.io/gh/mp3000mp/template-symfony-vuejs/branch/master/graph/badge.svg?token=O10BZ8VXSB&flag=backend
Back-functional badge (87%) => https://codecov.io/gh/mp3000mp/template-symfony-vuejs/branch/master/graph/badge.svg?token=O10BZ8VXSB&flag=back-functional
Back-unit badge (4%) => https://codecov.io/gh/mp3000mp/template-symfony-vuejs/branch/master/graph/badge.svg?token=O10BZ8VXSB&flag=back-unit
Frontend badge (40%) => https://codecov.io/gh/mp3000mp/template-symfony-vuejs/branch/master/graph/badge.svg?token=O10BZ8VXSB&flag=frontend
Front-e2e badge (52%) => https://codecov.io/gh/mp3000mp/template-symfony-vuejs/branch/master/graph/badge.svg?token=O10BZ8VXSB&flag=front-e2e
Front-unit badge (40%) => https://codecov.io/gh/mp3000mp/template-symfony-vuejs/branch/master/graph/badge.svg?token=O10BZ8VXSB&flag=front-unit
Additional Information
A turnover would be to be able to specify the path in the query string of the badge because the coverage seems good here : Code coverage done right.
Frontend: 51%
Backend: 87%
But I didn’t notice anything like this in the documentation.
Do you have an idea about this behavior and how I could turn around ?