codecov / codecov-bash

Global coverage report uploader for Codecov
https://codecov.io
Apache License 2.0
234 stars 155 forks source link

Too many uploads to this commit. #413

Open hallelujah opened 3 years ago

hallelujah commented 3 years ago

Hello,

It looks like recently you deployed some changes/rules about uploads. Last successful nightly build on our project was on Friday 26th of February. Since then the nightly and regular builds constantly fail on codecov reports upload.

Our CI runs many (hundreds) small jobs in parallel, and after each job we upload the reports to codecov. I understand this might be an issue for you (thus the error Too many uploads to this commit), if so please guide us, document this new behaviour.

Thank you

Failure log

#!/bin/bash -eo pipefail
bash <(curl --retry 10 --retry-delay 5 --retry-max-time 60 -s https://codecov.io/bash) -Z

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

==> git version 1.8.3.1 found
==> curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.44 zlib/1.2.7 libidn/1.28 libssh2/1.8.0
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp 
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz unix-sockets 
==> Circle CI detected.
    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:
    + .
    -> Found 3 reports
==> Detecting git/mercurial file structure
==> Reading reports
    + ./lib/tasks/coverage.rake bytes=92
    + ./coverage/coverage.json bytes=13379
    + ./coverage/codecov-result.json bytes=283174
==> Appending adjustments
    https://docs.codecov.io/docs/fixing-reports
    + Found adjustments
==> Gzipping contents
        180K    /tmp/codecov.CECt51.gz
==> Uploading reports
    url: https://codecov.io
    query: branch=master&commit=06215fac9733963435a266c60ead0bde51b3dff8&build=202064&build_url=&name=&tag=&slug=3scale%2Fporta&service=circleci&flags=&pr=&job=0&cmd_args=Z
->  Pinging Codecov
https://codecov.io/upload/v4?package=bash-20210226-7100762&token=secret&branch=master&commit=06215fac9733963435a266c60ead0bde51b3dff8&build=202064&build_url=&name=&tag=&slug=3scale%2Fporta&service=circleci&flags=&pr=&job=0&cmd_args=Z
[ErrorDetail(string='Too many uploads to this commit.', code='invalid')]
400

Exited with code exit status 1
blueyed commented 3 years ago

Does it fail on the first try already? (I've thought it might be related to https://github.com/codecov/codecov-bash/issues/415 maybe - i.e. there are too many retries, although it worked (probably))

hallelujah commented 3 years ago

@blueyed No we do not loop, we just try once per job (but implying multiple times per commit) Do you know if there are hard limits of how many uploads per commit? I suppose it is this problem. Did you encounter that too or just because you receive a false negative bash exit code?

@drazisil-codecov or @dorianamouroux (sorry to ping you but it seems you could help us or orient us where to report issues, again my apologies if it is not appropriate)

How could we work around that knowing we have around 100 jobs to process and each of the job reports to codecov?