Skip to content
This repository was archived by the owner on Apr 30, 2026. It is now read-only.
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
---
source: backlog-discovery
dedupe_key: scheduled-workflow-keepalive
priority: P2
generated_at: 2026-02-21T07:00:37Z
status: TODO
---

<!-- backlog-dedupe-key:scheduled-workflow-keepalive -->

# Requirement: 为定时工作流提供仓库活跃度保活与自动恢复

## 1. Requirement Summary
- GitHub 会在仓库长期无提交时自动停用 scheduled workflows,导致 self 的定时自驱流程在无人感知的情况下停摆;仓库当前缺少自动保活或自动恢复机制。

## 2. Target Users
- 仓库维护者
- 自动化平台负责人

## 3. Core Scenarios
- 仓库一段时间无提交导致定时工作流被自动停用,backlog/修复等流程不再运行
- 需要在接近 60 天无活动时自动触发保活以维持定时任务持续运行
- 发现 scheduled workflows 被停用后需要自动提示并一键恢复

## 4. User Problems
- GitHub 会在仓库长期无提交时自动停用 scheduled workflows,导致 self 的定时自驱流程在无人感知的情况下停摆;仓库当前缺少自动保活或自动恢复机制。

## 5. External Research Evidence
1. GitHub Docs - schedule event
- URL: https://docs.github.com/en/enterprise-server%403.15/actions/reference/workflows-and-actions/events-that-trigger-workflows
- 摘要: 官方文档指出公共仓库在 60 天无活动时会自动禁用 scheduled workflows。
2. GitHub Docs - disable/enable workflow
- URL: https://docs.github.com/enterprise-cloud%40latest/actions/using-workflows/disabling-and-enabling-a-workflow
- 摘要: 官方文档提示定时工作流可能会被自动禁用,并支持通过 API/CLI/UI 重新启用。
3. Keepalive Workflow Action
- URL: https://github.com/marketplace/actions/keepalive-workflow
- 摘要: Marketplace 中已有专门用于防止 cron 触发被停用的 keepalive Action,说明社区对保活机制有现实需求。

## 6. Proposed Solution Hypothesis
- 新增一个轻量保活 workflow,基于最近提交时间与阈值执行空提交或 API 更新,并在停用时自动发出恢复提醒。

## 7. Priority & Impact
- Priority: P2
- Impact: 避免自驱系统因仓库不活跃而停摆,确保定时驱动的自治流程长期连续运行。

## 8. Acceptance Criteria
1. 新增保活任务,定期检查最近提交时间并在接近阈值时执行最小化保活操作(如空提交或 API 更新)
2. 当检测到 scheduled workflow 已被停用时,自动创建 issue/告警并提供恢复指引或自动恢复选项
3. 保活行为应可配置(阈值天数、是否允许空提交、是否只提示不操作)并在摘要中记录

## 9. Metadata
- generated_at: 2026-02-21T07:00:37Z
- dedupe_key: scheduled-workflow-keepalive
- english_desc: scheduled-workflow-keepalive-for-inactivity
- source_workflow: Backlog Discovery
- source_repository: bestony/self
- source_run_id: 22252380279
- source_run_attempt: 1
Loading