actions / actions/setup-python
Rate limits cause a hard failure instead of retry
还没有人认领这个 Issue。
- 主要语言
- TypeScript
- 星标
- 2.2k
- 派生
- 739
- 平均合并
- 6 天 18 小时
- 30 天内合并 PR
- 1
描述
Description:
This action fails when a GitHub API rate limit is encountered, e.g., https://github.com/astral-sh/uv/actions/runs/18688106891/job/53286544594
Run actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065
Installed versions
GraalPy version 24.1 was not found in the local cache
Error: API rate limit exceeded for installation. If you reach out to GitHub Support for help, please include the request ID 5841:12068:2A62DF:B7984D:68F7A08C and timestamp 2025-10-21 15:02:36 UTC. For more on scraping GitHub and how it may affect your rights, please review our Terms of Service (https://docs.github.com/en/site-policy/github-terms/github-terms-of-service)
GitHub's rate limits have recently been reduced, and we're seeing far more failures from this.
While I'd generally expect setup-python to avoid hitting a rate-limited API, I'd also expect it to retry on spurious HTTP errors and handle rate limiting, especially for a first-party API.
Action version:
5.6.0
Platform:
- Ubuntu
- macOS
- Windows
Runner type:
- Hosted
- Self-hosted
Tools version:
Repro steps:
See description. Requires hitting a GitHub rate limit.
Expected behavior:
I expect the action to retry in a backoff, respecting the retry-after header.
Actual behavior:
The action hard fails.
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从关联的 setup-python 工作流失败开始,跟踪该 action 用于安装 Python 的 GitHub API 请求路径。复现 rate-limit 响应,然后验证该 action 会使用 backoff 重试,并遵循 retry-after 标头,而不是直接失败。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- github-actions, typescript
- 领域
- ci-cd
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100