-
Notifications
You must be signed in to change notification settings - Fork 192
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
Template sync triggers GitHub abuse detection mechanism #911
Comments
GitHub API resource limits are 1,000 calls when using a GitHub Token: https://docs.github.com/en/rest/overview/resources-in-the-rest-api#rate-limiting |
The docs URL in the error message is incorrect, it should be https://docs.github.com/en/rest/overview/resources-in-the-rest-api#abuse-rate-limits
I wonder if this "abuse rate limiting" is different to the general API rate limit? After manually going through the failed pipelines, it seemed that all the branches had been created, it was just that the PRs were not opened. There are a few things we can do here I think:
|
Ah hang on, I managed to find the relatively well hidden docs about this here: https://docs.github.com/en/rest/guides/best-practices-for-integrators#dealing-with-abuse-rate-limits
This fits with the debugging messages we get in the actions workflow log. @KevinMenden - the logs above are just the GitHub actions logs - we want the uploaded artefact which has the verbose log. You get these under the Artefacts heading on this page: https://github.com/nf-core/tools/actions/runs/664439127 However it seems that sadly the verbose log here doesn't give us anything more 😞 It would be nice to add a Line 343 in 03ab820
Anyway, I digress. I think that we should be able to catch the We're using |
Ah, sorry. Thought it get's all dumped in there :/ Okay there's enough to try out with the syncing there (yaaaay ....) Maybe it's even enough to just wait for 30 second before trying to do the PR. |
If we start sticking the API headers in the verbose log we can check - every GitHub API call gets headers back saying how many calls are remaining before we hit the limit (from which you can figure out how many we're using). If all tool syncs wait 30 seconds then we will still have the same problem 😉 I was thinking of picking a number randomly between 0 and 120 and waiting that long. But I think that handling the error and waiting the prescribed amount of time is much better. |
Syncing is failing for many pipelines with this message from GitHub:
Attached are the log for the
chipseq
sync.logs_5699.zip
The text was updated successfully, but these errors were encountered: