Skip to content

ci: run the ruleset drift check on a schedule - #231

Merged
taraxvoid merged 3 commits into
nextfrom
worktree-166-ruleset-drift-check
Oct 26, 2026
Merged

taraxvoid merged 3 commits into
nextfrom
worktree-166-ruleset-drift-check

Conversation

@taraxvoid

Copy link
Copy Markdown
Owner

Adds .github/workflows/rulesets-drift.yml, which runs bun scripts/apply-rulesets.ts --check and writes the plan to the job summary.

  • Triggers: weekly (Mon 06:17 UTC), workflow_dispatch, and PRs touching rulesets/**, the script, its config lib, or the workflow itself (same-repo PRs only, since forks get no secrets).
  • Read-only: only --check is ever run, never --apply or --prune.
  • Auth: actions/create-github-app-token with permission-administration: read, scoped to the five managed repos.
  • CONTRIBUTING.md notes the workflow.

Needs a manual step before it can go green

I reused the release-bot App (RELEASE_BOT_CLIENT_ID / RELEASE_BOT_APP_PRIVATE_KEY) rather than creating a second App. I could not check its permissions from here. Its settings must grant Administration: Read and the installation must cover queeromaha, soundry, synthomaha, taraxvoid.net and voidflow, otherwise the token step fails. If you would rather keep release-bot narrow, a separate read-only App is a swap of the two secret names.

A PR that changes rulesets/ will show drift in its run until it is merged and applied, so read the summary rather than the colour there.

Not yet verified in Actions: the workflow has not run. After the App permission is in place, run it via workflow_dispatch on this branch. Done criterion from the issue (a hand edit turns the run red with the diff in the summary) can be checked by editing a ruleset by hand and re-dispatching.

Closes #166

🤖 Generated with Claude Code

taraxvoid and others added 3 commits October 24, 2026 00:57
Refs #166

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Refs #166

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The read-only drifter App gets rulesets back without bypass_actors, so
normalise() spread undefined and crashed the drift check.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@taraxvoid
taraxvoid merged commit 3d3d7e9 into next Oct 26, 2026
3 checks passed
@taraxvoid
taraxvoid deleted the worktree-166-ruleset-drift-check branch October 26, 2026 00:02
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.

1 participant