本文档描述了在 Front-End Checklist 仓库中实现的自动化过时议题管理系统。该系统识别和管理不活跃的议题和拉取请求,以保持仓库的整洁并集中开发精力。本页面涵盖了过时议题检测和解决过程的配置、工作流程和操作细节。
有关其他质量保证流程的信息,请参阅 质量保证。有关链接验证(另一项自动化维护任务)的信息,请参阅 链接验证。
Front-End Checklist 项目采用自动化系统来识别和管理过时的议题和拉取请求。该系统通过确保开发资源集中于活跃的讨论和贡献,帮助维护仓库的卫生。
来源: .github/workflows/stale.yml1-37
过时议题管理系统作为一个 GitHub Actions 工作流程实现,该工作流程会自动按周计划运行。
过时议题管理定义在 .github/workflows/stale.yml 文件中,该文件配置了一个每周六凌晨 1:30 UTC 运行的计划任务。
来源: .github/workflows/stale.yml1-5 .github/workflows/stale.yml15-21
该系统使用不同的时间范围来检测过时议题和过时拉取请求
| 项目类型 | 标记为过时前的天数 | 关闭前的天数 | 应用的标签 |
|---|---|---|---|
| 问题 | 40天 | 10天 | stale |
| 拉取请求 | 45天 | 10天 | stale |
来源: .github/workflows/stale.yml26-28 .github/workflows/stale.yml32-33
某些议题和拉取请求免于过时管理流程。这些豁免基于分配者和标签
thedaviddias(仓库所有者)的议题和拉取请求keep-unstale 或 security 的议题keep-unstale、security、dependabot、wip 或 need-help 的拉取请求当议题被过时机器人关闭时,它会被标记为 wontfix。
来源: .github/workflows/stale.yml29-36
过时议题管理流程遵循特定的工作流程,并在关键节点进行自动化通知。
来源: .github/workflows/stale.yml22-25
过时议题管理系统在流程的不同阶段发布自动化评论
此议题已自动标记为过时,因为它已开启 40 天未有活动。请移除过时标签或评论,否则将在 10 天后关闭。感谢您的贡献!
此拉取请求已自动标记为过时,因为它已开启 45 天未有活动。请移除过时标签或评论,否则将在 10 天后关闭。
此议题已关闭,因为它已停滞 10 天未有活动。您随时可以直接联系维护者以获取更多信息。
此拉取请求已关闭,因为它已停滞 10 天未有活动。您随时可以直接联系维护者以获取更多信息。
来源: .github/workflows/stale.yml22-25
过时议题管理系统是 Front-End Checklist 更广泛维护策略的一个组成部分。
来源: .github/workflows/stale.yml1-37 .github/workflows/links-checker.yml1-36
为了防止议题和拉取请求被标记为过时,贡献者应遵循以下最佳实践
keep-unstale过时议题管理工作流程是使用 GitHub Actions 实现的,其权限专门针对议题和拉取请求进行设置。
这些权限允许工作流程读取和修改议题和拉取请求,包括添加标签、发布评论和关闭项目。
HUSKY: 0 环境变量在工作流程执行期间禁用 Husky git 钩子,防止潜在地干扰过时检测过程。
来源: .github/workflows/stale.yml8-13
过时议题管理系统通过以下方式为 Front-End Checklist 项目的整体质量做出贡献:
这种维护机制有助于确保 Front-End Checklist 仍然是前端开发者的一个维护良好且积极开发的资源。