feat: fallback to "raw" endpoint for manifest when rate limit is reached#496
Conversation
|
Hi @Shegox 👋, Could you please share the logs where you encountered a rate limit issue? This will help us better understand the need for the changes you've proposed. |
|
I observed when running the actions with |
|
@Shegox, Thank you for your response! Thanks for your effort! |
aad4c33 to
db66857
Compare
|
@Shegox, Basic validation checks are failing. Please review your changes and address these issues. |
|
@Shegox, the Basic validation is still failing. Please take a look at the job details and fix the issues. |

Description:
This PR leverages the raw endpoint (https://raw.githubusercontent.com/actions/go-versions/main/versions-manifest.json) to retrieve the golang manifest as a fallback mechanism. This allows GitHub Actions Runners, which have no API token and exceed the anonymous rate limit of 60 requests/hour/IP to still retrieve the manifest list without needing credentials.
This is especially helpful for GitHub Enterprise Server and self-hosted runners, as there multiple runners might share the same IP-address and quickly exceed the available rate limit. Supplying an access token for github.com is cumbersome, as it requires another technical user and the secret isn't exposed to forks, preventing builds from forks.
The implementation as a fallback mechanism minimizes the risk of breaking current workflows, as they will still use the normal API to retrieve the manifest.
Related issue:
This is similar to the implementation setup-python uses:
Check list:
I have tested this on our GitHub Enterprise Server with success: