防止计划的 GitHub 操作被禁用

Prevent scheduled GitHub Actions from becoming disabled

我是几个 Julia GitHub 存储库的维护者,这些存储库通过 cron 使用 GitHub 每晚 CI 运行的操作。其中一些软件包几个月都没有得到维护,但在生态系统中使用,我想让它们保持活跃。 GitHub 的当前政策是在 60 天内没有存储库 activity 发生时禁用这些操作。

我想知道是否有什么存储库的定义 activity 是为了防止操作被禁用。这是像评论问题一样简单的事情吗?或者提交需要推送到主分支?

其次,有没有人找到保持存储库活跃的好方法?我正在考虑创建一个每 59 天运行一次的 Lambda 函数,并执行某种形式的存储库 activity 来保持活力。我只发现这个 HackerNews post 提出了这个问题,但是没有评论:

Scheduled workflows will be disabled by default in forks of public repos and in public repos with no activity for 60 consecutive days. W e’re making two changes to the usage policy for GitHub Actions. These changes will enable GitHub Actions to scale with the incredible adoption we’ve seen from the GitHub community. Here’s a quick overview:

  1. Starting today, scheduled workflows will be disabled by default in new forks of public repositories.

  2. Scheduled workflows will be disabled in public repos with no activity for 60 consecutive days.

我找不到解决此问题的方法。相反,我对这个问题实施了一个有希望的临时解决方案。

https://github.com/invenia/KeepActionsAlive

此程序包使用 AWS SAM 部署 Lambda 函数。该功能每 59 天运行一次,为您的组织收集所有非分叉、非归档的回购。然后它将为所有非手动禁用的工作流命中 enable workflow REST API 端点。内置功能支持组织外部的回购。

它非常简陋,但对于那些已经在使用 AWS 的人来说,这应该有助于解决问题。

我也在寻找这个问题的解决方案,我在 GitHub Marketplace 上遇到了一个插件,它可能正是您正在寻找的。唯一的缺点是它会为您的存储库创建“虚拟提交”,这取决于您的偏好,您可能会满意也可能不满意。

保活工作流程:https://github.com/marketplace/actions/keepalive-workflow