Dependabot 默认等待三天:把依赖更新速度变成供应链策略
GitHub 现在默认等待至少三天,才为常规版本更新创建 Dependabot PR;安全更新仍会立即创建。
发生了什么
该默认值适用于 github.com 支持的生态,并将在 GHES 3.23 中提供。cooldown 可设置 1–90 天、SemVer 分级以及 include/exclude 列表。
观察不等于验证
等待能为撤回、issue 和预警留出时间,但没有信号不代表安全。bot schedule、review、CI 与部署分别影响实际 lead time。
区分 PR 与安装策略
Dependabot 只控制何时创建 PR,无法阻止手动安装或其他解析器。npm 的 min-release-age 可管解析层,lockfile 与 npm ci 可复现已批准的依赖树。
落地方式
应通过 Dependency Review 检查直接与传递依赖变化,并按影响范围为 runtime、开发工具、GitHub Actions、容器和 IaC 设置不同 gate。
风险
cooldown 未必减少 PR 数量,也可能延迟紧急但未标记为安全更新的修复。还需要 grouping、带期限的例外、canary 与 rollback。
实践清单
✓盘点 dependabot.yml
✓区分版本与安全更新 SLA
✓强制 Dependency Review
✓使用 lockfile 与 frozen install
✓为例外指定负责人和到期日
GitHub: GitHub Changelog: Dependabot version updates introduce default package cooldown
来源
- GitHub Changelog: Dependabot version updates introduce default package cooldown
- GitHub Docs: Dependabot cooldown option
- GitHub Docs: Optimizing version-update pull requests
- GitHub Docs: Dependency review
- GitHub Docs: Dependabot security updates
- npm Docs: min-release-age
- npm Docs: npm ci
- Reddit r/reactjs: package-manager minimum release age discussion