feat(hygiene): schedule the advisory org hygiene sweep from a public runner - #37
Merged
Conversation
…runner Actions minutes are billed to the caller, never to the repo holding the reusable workflow. The blocking guard runs in the repo being checked, so each private repo firing it pays for the run -- ~292 minutes a month across fleet-infra and nix-config for a job averaging 6.6 seconds. Standard runners are free in public repositories, and this repo is public. This does not replace repository-hygiene-guard.yml. The guard blocks a merge; this only reports. fleet-infra and nix-config are excluded for now precisely because they still run the blocking guard, so the sweep would otherwise report the same thing twice. Remove a name from that list in the same change that removes its gate. Every 6 hours rather than every 15 minutes: advisory findings gain nothing from a tighter loop, and the sticky PR comment is the real signal. Depends on the sweep added in JorisJonkers-dev/github-workflows#125. Refs #34 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AJYmuNrmiYv9wGRABoQYUi
Repository Hygiene is not a required status check in any repo in this org -- only Pipeline Complete is, and no repo uses classic branch protection. Verified by reading the rulesets directly rather than inferring from the workflow's name. So the guard already only reports, and replacing it with the sweep gives up nothing. The previous comment claimed a blocking gate that does not exist. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AJYmuNrmiYv9wGRABoQYUi
Contributor
Author
|
Correction to this PR's own description. I claimed the guard blocks merges and that replacing it trades away a blocking gate. That is wrong. So the guard already only reports. Moving it to a sweep gives up nothing, and the trade-off flagged on #123 and #34 does not apply. The workflow comment has been corrected in the latest commit.
|
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Schedules the advisory org-wide hygiene sweep from this public repo. Companion to JorisJonkers-dev/github-workflows#125.
Why here
Actions minutes are billed to the caller, never to the repo holding the reusable workflow. The blocking guard runs in the repo being checked, so each private repo firing it pays for the run — ~292 min/month across
fleet-infraandnix-configfor a job averaging 6.6 seconds. Standard runners are free in public repos, and this one is public.This does not replace the blocking guard
repository-hygiene-guard.ymlis untouched and still runs per-PR where it's wired up. The guard blocks a merge; this only reports.fleet-infraandnix-configare excluded precisely because they still run the blocking guard — otherwise the sweep reports the same thing twice. The comment on that input says to remove a name in the same change that removes its gate. That's #34's job, and it needs the ruleset updated too, or PRs there will wait forever on a context nothing reports.Cadence
Every 6 hours, not every 15 minutes. Advisory findings gain nothing from a tighter loop, and the sticky PR comment is the real signal.
Merge order
Merge JorisJonkers-dev/github-workflows#125 first — this calls
@main.Refs #34