ci(#156/T3): add version-bump-check workflow#159
Conversation
Fails any PR that changes commands/, skills/, or .claude-plugin/ without bumping .claude-plugin/plugin.json version. Mechanically enforces the policy from #156 / T2 so cumulative drift cannot recur silently. Pure shell + jq, no third-party action. Trigger path list mirrors CONTRIBUTING.md "Versioning" section. T3 of #156. T4 (release workflow) follows. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 82fdf00e2f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
|
||
| on: | ||
| pull_request: | ||
| branches: [master] |
There was a problem hiding this comment.
Trigger the check on the actual default branch
The workflow is limited to pull_request events targeting master, so in repositories where the default branch is main (as in this repo) the job never runs and the version-bump policy is effectively unenforced for normal PRs. This turns the new guardrail into a no-op in day-to-day use; update the branch filter to the real default branch (or include both) so PRs are actually checked.
Useful? React with 👍 / 👎.
[shiplog/review] Repo owner override — proceed to mergeThe repo owner (devallibus) explicitly authorized merging this #156 follow-up PR without a separate cross-model review. Per Authored-by: claude/opus-4.7 (claude-code) |
Summary
Adds a GitHub Actions workflow that fails any PR which touches
commands/,skills/, or.claude-plugin/without bumping.claude-plugin/plugin.jsonversion. Mechanically enforces the policy from #156 / T2 so cumulative drift cannot recur silently.Addresses #156 (completes T3)
Journey Timeline
Decisions
commands/,skills/,.claude-plugin/git diff $BASE...$HEAD(three-dot)::error file=...::annotation + multi-line explainer in the logChanges
.github/workflows/version-bump-check.yml: runs onpull_requesttomaster, checks out withfetch-depth: 0, walks the diff, and fails when a gated path changed butplugin.jsonversiondid not.That is the entire diff for this PR.
Testing / Verification
I cannot execute Actions from this PR's body; the verification plan post-merge is:
skills/without changingplugin.json. Expect the new check to fail with the annotation pointing at.claude-plugin/plugin.jsonand the multi-line explainer in the log.plugin.jsonversion. Expect the check to pass.README.md. Expect the check to pass without examiningplugin.json(logs should print "No gated paths changed; version bump not required.").If any of those misbehave, the workflow is straightforward to revert with a one-file removal.
Knowledge for Future Reference
.github/workflows/, which is not a gated path under the policy itself. So this PR does not need a version bump (and the absence of one demonstrates the rule's negative case).Authored-by: claude/opus-4.7 (claude-code)
Captain's log - PR timeline by shiplog