Skip to content

Add PR check requiring plugin version bump on plugin-directory changes - #230

Merged
jodavis-claude merged 3 commits into
mainfrom
dev/claude/plugin-version-check
Sep 1, 2026
Merged

Add PR check requiring plugin version bump on plugin-directory changes#230
jodavis-claude merged 3 commits into
mainfrom
dev/claude/plugin-version-check

Conversation

@jodavis-claude

Copy link
Copy Markdown
Collaborator

Summary

  • Adds a required PR check: any PR touching plugins/<name>/ must raise that plugin's version in plugin.json above the version on main, or the check fails.
  • Generic over plugins/*/ (works if more plugins are added later), evaluates every touched plugin independently, and reports all violations in one run.
  • No automated version-bump tooling (changesets/release-please) — considered and explicitly descoped since both assume a deferred-bump model that conflicts with the manual bump-in-place approach here.

Changes

  • scripts/check_plugin_versions.py — stdlib-only Python checker (no third-party deps).
  • scripts/test_check_plugin_versions.py — 25 pytest unit tests covering new/deleted plugins, unchanged/lowered versions, invalid semver, multi-plugin PRs.
  • .github/workflows/plugin-version-check.yml — triggers on PRs targeting main only (not intermediate stacked-PR branches); a gate job skips the rest when no plugins/** files changed; check-versions runs the checker; test-script runs the unit tests unconditionally.

Test plan

  • python3 -m pytest scripts/test_check_plugin_versions.py -v — 25/25 passing
  • Manually verified in a disposable worktree: fails when a plugin file changes without a version bump, passes once bumped, no-ops when no plugin dir is touched
  • Confirm the new workflow runs correctly on this PR (touches .github/workflows/ and scripts/, not plugins/, so check-versions should be gated off and only test-script should run)

🤖 Generated with Claude Code

https://claude.ai/code/session_0169tvYH3dirw6Fc1EPRQ3S8

Enforces that any PR touching plugins/<name>/ raises that plugin's
version in plugin.json before merging to main, catching the "forgot
to bump the version" mistake that's currently only prevented by
manual discipline.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0169tvYH3dirw6Fc1EPRQ3S8
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

build-and-test: Python test results

Status: ✅ Passed

Test log

@jodavis-claude
jodavis-claude enabled auto-merge (squash) September 1, 2026 17:16
@jodavis-claude
jodavis-claude merged commit 81b910b into main Sep 1, 2026
6 checks passed
@jodavis-claude
jodavis-claude deleted the dev/claude/plugin-version-check branch September 1, 2026 17:16
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