feat: fallback to "raw" endpoint for manifest when rate limit is reached by Shegox · Pull Request #766 · actions/setup-python
Description:
This PR leverages the raw endpoint (https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json) to retrieve the python 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:
Fixes #756
Check list:
- Mark if documentation changes are required.
- Mark if tests were added or updated to cover the changes.