Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement retries #572

Open
spyoungtech opened this issue Feb 1, 2025 · 0 comments
Open

Implement retries #572

spyoungtech opened this issue Feb 1, 2025 · 0 comments
Assignees

Comments

@spyoungtech
Copy link

spyoungtech commented Feb 1, 2025

Is your feature request related to a problem? Please describe.
Frequently enough to be frustrating, running coveralls fails in GitHub Actions due to an HTTP error. Retrying the Action run resolves this, but this can be painful for very long-running workflows.

Describe the solution you'd like
When API calls fail with transient HTTP error (e.g., bad gateway), they should be able to be retried (perhaps optionally, based on a CLI parameter) ideally with some kind of backoff.

Describe alternatives you've considered

  • implement retrying in the Action itself. Though, I'd rather not implement it in bash.
  • GitHub Actions doesn't implement any retry functionality itself like other CI providers, but retries might work in providers like GitLab.
  • To minimize the impact of the problem, I could use the artifact upload/download actions to move coverage reports from jobs to one place where they are transmitted. That way, when it fails, I just need to re-download the artifact and try the upload again, instead of running all the tests again. But it would be much better if the CLI could implement it.

Additional context
For example: this action run (which takes 9+ minutes to run!) ends with an error:

Traceback (most recent call last):
  File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\site-packages\coveralls\cli.py", line 98, in main
    result = coverallz.wear()
  File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\site-packages\coveralls\api.py", line 275, in wear
    return self.submit_report(json_string)
  File "C:\hostedtoolcache\windows\Python\3.9.13\x64\lib\site-packages\coveralls\api.py", line 301, in submit_report
    raise CoverallsException(
coveralls.exception.CoverallsException: Could not submit coverage: 504 Server Error: Gateway Time-out for url: https://coveralls.io/api/v1/jobs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants