Skip to content

ci: keep the scheduled watchers enabled through quiet spells - #13

Merged
sbokatuk merged 1 commit into
mainfrom
ci/workflow-keepalive
Oct 30, 2026
Merged

sbokatuk merged 1 commit into
mainfrom
ci/workflow-keepalive

Conversation

@sbokatuk

Copy link
Copy Markdown
Owner

GitHub disables every scheduled workflow in a public repository after 60 days without activity. In September–October 2026 that switched off upstream-drift.yml in 22 of the 23 repositories of these families (they were re-enabled by hand on 2026-10-30), and new upstream releases went unreported for weeks.

.github/workflows/keepalive.yml re-enables every active workflow weekly (Mondays 05:41 UTC) through the API — itself included — which restarts the 60-day clock without a commit. Workflows disabled by hand are left alone; GitHub's dynamic workflows (Copilot, Pages) are skipped.

  • No new secrets: GITHUB_TOKEN with actions: write.
  • Byte-identical across the 23 repositories that have a scheduled workflow (OpenTok.Net.Win has none).
  • Can be run on demand via Actions → workflow keepalive → Run workflow.

🤖 Generated with Claude Code

GitHub disables every scheduled workflow in a public repository after
60 days without activity. In September-October 2026 that switched off
upstream-drift in 22 of the 23 repositories of these families, and new
upstream releases went unreported for weeks.

keepalive.yml re-enables every active workflow weekly through the API -
itself included - which restarts the 60-day clock without a commit.
Workflows disabled by hand are left alone. Byte-identical across the
families, like notify-parents.yml.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 30, 2026 05:49

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

The keepalive guarantee depends on GitHub resetting inactivity when /enable is called on an already-active workflow, a platform behavior that repository evidence cannot confirm.

No open issues 🎉

What changed in this PR

Adds a weekly keepalive workflow intended to prevent scheduled upstream watchers from being disabled during periods of repository inactivity.

Changes:

  • Runs Mondays at 05:41 UTC and supports manual dispatch.
  • Uses GITHUB_TOKEN with actions: write to re-enable active, file-backed workflows, including itself.
  • Leaves disabled workflows and GitHub-managed dynamic workflows untouched; restricts execution to repositories owned by sbokatuk.
File Description
.github/​workflows/​keepalive.yml Adds the scheduled and manually triggered workflow keepalive job.

Review effort: Balanced

@sbokatuk
sbokatuk merged commit 7d66681 into main Oct 30, 2026
8 checks passed
@sbokatuk
sbokatuk deleted the ci/workflow-keepalive branch October 30, 2026 16:47

This branch was successfully deployed

1 active deployment
nuget.org — 73ccb6ff Deployed Oct 30, 2026 by sbokatuk via publish beta to nuget.org #29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants