release: candidate cleanup fails with 404 deleting scheduling-candidate versions
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 68/100
调研方向
从 release/scripts/cleanup-release-candidates.py(由 .github/workflows/release-candidate-cleanup.yml 调用)入手,找出逐版本 DELETE 响应在何处被检查,从而在第一个 404 时中止运行。阅读 issue 中链接的失败运行以确认是哪个包终止了循环,然后让脚本记录该失败并继续处理剩余的包,只有在全部尝试过后才以非零码退出。完成的标准是:某个包的 404 不再阻止后续包过期版本的删除,同时失败仍被报告;第 1 步的 package-settings 检查需要 org 管理员权限,这部分请与 maintainer 协调。
由索引模型根据 Issue 内容生成。
描述
What fails
Release candidate cleanup (.github/workflows/release-candidate-cleanup.yml) has failed every day since 2026-10-01; it was green through 2026-09-30. The step "Delete candidate versions older than eight days" (release/scripts/cleanup-release-candidates.py --apply) stops on the Scheduling candidate image:
release candidate cleanup failed: GitHub API DELETE https://api.github.com/orgs/registrystack/packages/container/scheduling-candidate/versions/1302456199 failed with 404: {"message":"Package not found." ...}
Example run: https://github.com/registrystack/registry-stack/actions/runs/37455706477
Likely cause (not yet confirmed)
The job deletes with the workflow GITHUB_TOKEN (packages: write). For an org container package, GitHub answers 404 rather than 403 when the token cannot manage it. The most likely explanation is that scheduling-candidate does not grant this repository's Actions admin access in its package settings ("Manage Actions access"), unlike the older candidate packages. A renamed or deleted package would give the same response, and so would a version listed through another endpoint. The package settings have not been checked yet.
To check and fix
- In the org package settings for
scheduling-candidate, confirm the repositoryregistrystack/registry-stackhas the Admin role under Actions access. Compare with a candidate package whose cleanup succeeds. - Re-run the workflow in apply mode and confirm it deletes expired
scheduling-candidateversions. - Decide whether one package's refusal should stop cleanup of all the others. Today the first failure ends the run, so expired versions of later packages are not deleted either.
Impact
Expired candidate images are not deleted. At minimum this affects scheduling-candidate, and possibly every package after it in the cleanup order.
- 主要语言
- Rust
- 星标
- 2
- 派生
- 0
- 平均合并
- 10 小时 32 分钟
- 30 天内合并 PR
- 269
环境准备
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
registrystack/registry-stack 的其他 Issue
-
area:docs documentation
难度 2/5 1-3 小时 新手友好度 76/100
registrystack/registry-stack#2253 ·
维护者通常 1 天内回复
-
area:coordinator bug
难度 2/5 1-3 小时 新手友好度 82/100
registrystack/registry-stack#2252 ·
维护者通常 1 天内回复
-
area:release bug
难度 2/5 1-3 小时 新手友好度 74/100
registrystack/registry-stack#2248 ·
维护者通常 1 天内回复
-
area:breg documentation
难度 1/5 1-3 小时 新手友好度 88/100
registrystack/registry-stack#2233 ·
维护者通常 1 天内回复
-
area:breg bug
难度 2/5 1-3 小时 新手友好度 90/100
registrystack/registry-stack#2231 ·
维护者通常 1 天内回复
查看 registrystack/registry-stack 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 66/100
home-assistant/installer#308 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
ProvableHQ/leo#29657 ·
-
bug
难度 2/5 1-3 小时 新手友好度 75/100
swc-project/swc-next#1053 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
nautechsystems/nautilus_trader#5387 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
NomicFoundation/edr#1872 ·
维护者通常 2 天内回复