菜单

陈旧问题管理

相关源文件

目的与范围

本文档描述了在 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-unstalesecurity 的议题
  • 标记为 keep-unstalesecuritydependabotwipneed-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

贡献者最佳实践

为了防止议题和拉取请求被标记为过时,贡献者应遵循以下最佳实践

  1. 保持活跃:定期更新您的议题和拉取请求,提供进度更新
  2. 使用适当的标签:如果您的议题或拉取请求不应被标记为过时,请请求维护者添加豁免标签,如 keep-unstale
  3. 响应过时通知:如果您的贡献被标记为过时,请在 10 天内提供评论或更新以重新激活它
  4. 完成或转让所有权:如果您无法继续处理某个议题或拉取请求,请寻求转让所有权或自己提议关闭它

来源: CONTRIBUTING.md1-58

技术实现细节

过时议题管理工作流程是使用 GitHub Actions 实现的,其权限专门针对议题和拉取请求进行设置。

工作流权限

这些权限允许工作流程读取和修改议题和拉取请求,包括添加标签、发布评论和关闭项目。

环境配置

HUSKY: 0 环境变量在工作流程执行期间禁用 Husky git 钩子,防止潜在地干扰过时检测过程。

来源: .github/workflows/stale.yml8-13

与项目质量的关系

过时议题管理系统通过以下方式为 Front-End Checklist 项目的整体质量做出贡献:

  1. 减少议题跟踪器中的混乱和干扰
  2. 确保开发精力集中于活跃的讨论
  3. 自动解决被放弃的议题和拉取请求
  4. 鼓励及时响应和积极参与
  5. 保持开放和关闭议题的健康比例

这种维护机制有助于确保 Front-End Checklist 仍然是前端开发者的一个维护良好且积极开发的资源。

来源: .github/workflows/stale.yml1-37 CONTRIBUTING.md1-12