菜单

问题管理

相关源文件

本文档描述了在 DeepSeek-R1 仓库中实现的自动化问题管理系统。它特别关注 GitHub 问题如何通过自动化工作流进行跟踪、标记和最终关闭。有关仓库结构的通用信息,请参阅 仓库信息

自动化过期问题工作流

DeepSeek-R1 仓库实施了一个自动化的过期问题管理系统,有助于保持问题跟踪器的整洁。该系统会自动识别和处理长时间未活动的过期问题,确保开发团队专注于当前相关的问题。

该工作流作为 GitHub Actions 工作流实现,每天运行并根据问题的活动级别进行处理。

来源:.github/workflows/stale.yml1-11

工作流配置

该过期问题工作流配置了以下参数

参数描述
运行时间每日午夜 UTC通过 cron 表达式 0 0 * * * 进行调度
过期阈值30 天问题在 inactivity 30 天后视为过期
关闭阈值14 天过期问题在 inactivity 14 天后关闭
过期标签"stale"应用于过期问题的标签
关闭标签"closed-as-stale"关闭过期问题时应用的标签
豁免标签"pinned", "security"带有这些标签的问题永远不会被标记为过期
PR 处理已禁用Pull requests 不受此工作流管理

来源:.github/workflows/stale.yml3-30

问题生命周期

下图说明了 DeepSeek-R1 仓库中问题的生命周期,重点关注过期问题管理流程

来源:.github/workflows/stale.yml12-30

过期问题检测流程

此图说明了 GitHub Actions 工作流用于检测和管理过期问题的技术流程

来源:.github/workflows/stale.yml7-30

管理你的问题

为防止你的问题被自动关闭,请考虑以下准则

保持问题活跃

只要问题保持定期活动,它们就会保持活跃。活动包括

  • 用户或维护者的评论
  • 标签更改
  • 负责人更改
  • 链接到 pull requests

如果一个问题被标记为过期,你可以通过添加评论来解释为什么这个问题仍然相关,从而重新激活它。

理解问题标签

过期问题工作流使用特定的标签来跟踪问题状态

标签含义
stale问题已 inactivity 30 多天,可能很快就会关闭
closed-as-stale问题因持续 inactivity 而被自动关闭
pinned问题豁免过期工作流(由仓库所有者维护)
安全与安全相关的问题豁免过期工作流

来源:.github/workflows/stale.yml15-21

过期问题通知

当一个问题被标记为过期时,会发布以下通知消息

This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. If you
believe this issue is still relevant, please leave a comment to keep it open.
Thank you for your contributions!

此消息作为警告,表明该问题将在 inactivity 14 天后关闭,除非有人响应使其保持活跃。

来源:.github/workflows/stale.yml22-27

技术实现

过期问题工作流是使用 GitHub Actions 框架和官方的 actions/stale 动作 9 版本实现的。该工作流仅在主要的 DeepSeek-R1 仓库中运行,并使用标准的 GitHub API token 进行身份验证。

工作流在以下文件中定义

来源:.github/workflows/stale.yml1-31