配了三年 CI,今天才发现 workflow 历史悄悄被 GitHub 删了——400 天变成 90 天

写过 CI 的人都踩过这个坑——某天想回溯三个月前某个 workflow 的运行记录,点开 GitHub 一看,发现数据已经被清了。大多数人第一反应是「GitHub 是不是 bug 了」,但从 2026 年 10 月 1 日起,这不是 bug,是特性。

为什么 CI 数据会消失?

GitHub 历史上对 CI metadata(checks、workflow runs、statuses)和 artifacts/logs 是分开对待的。artifacts 和 logs 按照你配置的 retention period 走(默认 90 天,最长 400 天),但 CI metadata 一直独立保留 400+ 天,不管你仓库里配的是什么 retention。

这意味着:即使你把 retention 设为 30 天,checks 和 workflow runs 还是会在那躺 400 天。你为 artifacts 付了存储费,但 CI metadata 本身不单独计费——只是占着 GitHub 的基础设施。

10 月 1 日起统一 retention 规则

从 2026-10-01 起,checks、workflow runs、statuses 三类 metadata 正式纳入 Actions retention policy 的管辖范围,和 artifacts、logs 共用同一套 retention 配置。默认 90 天,最长不超过组织/企业层面的 cap(公开仓库上限 90 天,私有仓库最高 400 天)。

几个关键细节:

非 retroactive:这次变更不追溯,调整 retention 设置不会恢复已经被清理的数据

UI 标签改了:设置页面会从「Artifact and log retention」变成「Check, workflow run, status, artifact and log retention」,反映新范围

storage billing 不变:metadata 本身不收费,只有 artifacts 和 logs 计入账单

可能省钱:如果你的仓库之前 retention 配了 30 天但 CI metadata 躺了 400 天,现在 metadata 也跟着 30 天走,GitHub 内部存储压力小了,artifacts/logs 清理更及时

三步下一步

第一步:立即行动(9 月底前)

去仓库 → Settings → Actions → 检查 retention 设置,确认 90 天(或你想要的时长)是否符合需求。如果需要保留 CI 历史更久(如合规审计),把 retention 调到最长 400 天(私有仓库)。

公开仓库的上限是 90 天,和 artifacts/logs 一致;私有仓库最高可以配到 400 天。

第二步:导出重要数据

如果三个月前的某个 workflow run 的日志、status 对团队有参考价值,在 10 月 1 日之前导出归档——这次清理将是自动的,不会再给你留 400 天的缓冲区。

可以用 GitHub API 批量导出,或者用 third-party 工具做 CI 历史存档。

第三步:通知相关团队

这次变更对 QA、PM、合规团队影响最大——他们可能习惯在 GitHub 上直接查历史 CI 状态,10 月之后超过 retention 窗口的记录会自动消失,需要提前建立新的工作流程。

什么时候需要担心?

需要担心的情况:

  • GitHub Actions 跑合规审计,需要保留 CI 历史记录超过 90 天的团队
  • 习惯在 PR 评论里看历史 CI status 做 code review 的团队
  • 公开仓库(retention 上限 90 天,10 月之前实际保留了 400+ 天)

不需要担心的情况:

  • 用 Jenkins、GitLab CI 等其他 CI 平台的团队
  • 从来不回头查 CI 历史、自动化程度高的流水线团队
  • retention 本来就设为 90 天以下的仓库(这次是降维打击,和你没关系)

一个值得关注的信号

这次 retention 政策变更看似是一个存储清理动作,但它背后反映了 GitHub 在 Actions 基础设施上的成本压力。400+ 天不计费的 metadata 保留对 GitHub 来说是纯成本,而将 metadata 纳入 retention policy 意味着更可预期的存储管理。

对于团队来说,这意味着你需要把 CI 历史数据当作一种「需要主动管理的资产」,而不是默认它永远在那里。如果你的团队经常需要回溯历史 CI 运行记录,现在是时候考虑建立导出和归档流程了。

评论区

0 条评论

登录后可评论。