fix: improve version bump workflow and CI integration#73
Conversation
package: Version Bump Preview
|
There was a problem hiding this comment.
👍 LGTM! This PR correctly improves CI/CD workflow with proper gating and cleaner version preview logic.
✅ Verified update-marketplace job in cd.yaml is properly gated to main branch only
✅ Verified duplicate removal from ci.yaml is safe
✅ Improved _preview-version-bumps shows actual changes vs predicted bumps
✅ Added necessary fetch-depth: 0 and base branch fetch for version comparison
✅ Plugin.json formatting changes are cosmetic (prettier)
🖱️ Click to expand for full details
update-marketplace job in cd.yaml is properly gated to main branch only✅ Verified duplicate removal from ci.yaml is safe
✅ Improved
_preview-version-bumps shows actual changes vs predicted bumps✅ Added necessary
fetch-depth: 0 and base branch fetch for version comparison✅ Plugin.json formatting changes are cosmetic (prettier)
Workflow Changes Analysis
cd.yaml Verification
The update-marketplace job in cd.yaml (lines 96-129) is properly configured:
- Gating:
if: github.event_name == 'push' && github.ref == 'refs/heads/main'(line 99) - Dependency:
needs: ['bump-plugin-versions'](line 97) - ensures marketplace only updates after version bumps - Conclusion: Safe to remove the duplicate from ci.yaml
ci.yaml Changes
Removed 42-line update-marketplace job that was:
- Running on all events (including PRs where it shouldn't)
- Duplicating functionality already in cd.yaml with proper gating
Justfile Improvements
The _preview-version-bumps recipe was rewritten to:
- Compare actual plugin.json versions between base branch and HEAD (not predicted bumps)
- Use
GITHUB_BASE_REFenv var with fallback tomainfor CI compatibility - Handle "no changes detected" case cleanly
- Use clearer column names: "Base/Head" instead of "Current/Next"
This is a significant improvement - showing actual version differences in PRs rather than what commit-and-tag-version would do.
Plugin.json Formatting
All 14 plugin.json changes are cosmetic - prettier reformatted the keywords arrays from multi-line to single-line. No functional changes.
Research Doc Addition
docs/research/claude-code-compact-customization.md documents a Claude Code limitation regarding compact model selection. While unrelated to the version bump workflow, it's a reasonable docs addition to the research folder.
Score Rationale
- Quality (95%): Clean, well-organized changes with good PR description
- Security (N/A): No security-sensitive code paths modified
- Simplicity (90%): Justfile changes are cleaner than before; direct comparison vs recipe calls
- Confidence (95%): Verified all gating conditions in cd.yaml, logic is sound
Footnotes
Previously showed all plugins with confusing 'major' type and empty next versions. Now compares base branch (main) vs HEAD to show actual version changes in PR. Changes: - Compare plugin.json versions between branches - Only show plugins that actually changed - Show clear before/after versions - Rename 'Current/Next' to 'Base/Head' for clarity
The preview was showing all plugins as new (0.0.0 -> X.Y.Z) because the base branch wasn't fetched. Now fetches full history and base branch so git can properly compare versions between branches.
Documents the current limitations around customizing the compact operation in Claude Code, specifically the inability to configure a specific model for compacting. Includes workarounds and feature request recommendations. Co-Authored-By: Claude Code (~/src/nsheaps/ai) <noreply@anthropic.com>
The update-marketplace job was running on all events including PRs, causing marketplace.json to be updated inappropriately in PRs. The cd.yaml workflow already has this job correctly gated to only run on main branch after version bumps. This removes the duplicate.
a5f113f to
c62d056
Compare
Summary
This PR fixes several issues with the version bump and CI workflow:
Changes
1. Version Bump Commit Format
Before:
chore(release): 0.2.8 [skip ci]After:
chore(plugin-name): release 0.2.8Updated all 17 plugin
.versionrc.jsfiles:2. Version Preview in PRs
Issue: Preview showed all plugins with confusing output
Fix:
Before:
After:
3. Marketplace Update Isolation
Removed duplicate
update-marketplacejob from ci.yaml that was running on all events including PRs. The cd.yaml workflow already has this job correctly gated to only run on main branch after version bumps.Files Modified
bin/update-versionrc-files.sh- Script to update all plugin configsplugins/*/.versionrc.js(17 files) - Version bump configurationjustfile- Improved_preview-version-bumpsrecipe.github/workflows/cd.yaml- Added base branch fetching.github/workflows/ci.yaml- Removed duplicate marketplace jobTesting
Validated end-to-end with test commits:
Related Issues
Fixes issues discovered during plugin development: