chore: track plugin version and sync it from release-plz#70
Merged
Conversation
Add a `version` field to .claude-plugin/plugin.json (currently 5.0.0) so the marketplace advertises a version that moves with each release, and add a step to the release-plz `release-pr` job that mirrors the bumped Cargo.toml version into plugin.json on the same release PR branch. The Claude Code plugin therefore stays in lockstep with the published crate without a manual edit. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds explicit versioning to the Claude Code plugin manifest and automates keeping that version in sync with the crate version that release-plz bumps, so the marketplace plugin advertises a version that tracks releases without manual edits.
Changes:
- Added a
versionfield to.claude-plugin/plugin.json(set to5.0.0) and normalized formatting. - Updated
.github/workflows/release-plz.ymlto capture therelease-plzPR output and add a post-step that readsversionfromCargo.tomland updatesplugin.jsonon the same release PR branch.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| .github/workflows/release-plz.yml | Adds a release PR post-step to mirror the bumped crate version into the plugin manifest on the release branch. |
| .claude-plugin/plugin.json | Adds a version field and formats the JSON for stable diffs on future automated bumps. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Make the `docker pull` example use the explicit `:latest` tag and note that each release is also published under its version tag for pinning. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
Replace the stale pinned `:3.1.1` with `:latest` in the Nextflow process example container. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
| label 'process_medium' | ||
| conda "${moduleDir}/environment.yml" | ||
| container "ghcr.io/peterkneale/bioassert:3.1.1" | ||
| container "ghcr.io/peterkneale/bioassert:latest" |
Keep the example on :latest but add a comment recommending a pinned version tag for reproducible pipeline runs. Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
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
versionfield to.claude-plugin/plugin.json(set to the current published5.0.0).release-prjob inrelease-plz.ymlthat mirrors the version release-plz bumps inCargo.tomlintoplugin.jsonon the same release PR branch.Why
The marketplace plugin (
source: ".") tracksmain, so consumers always get the latest skill, but the plugin advertised no version. Now it advertises one that moves in lockstep with each crate release, with no manual edit required.How the sync works
release-plzopens/updates achore: release vX.Y.ZPR that bumpsCargo.toml+CHANGELOGon a release branch. The new step reads the bumped version fromCargo.tomlon that branch and, ifplugin.jsonis out of date, commits the updatedplugin.jsonto the same branch (via${{ steps.release-pr.outputs.pr }}→head_branch). It's idempotent — it self-heals each run because release-plz force-pushes the branch frommain, and the step re-applies the version on the next run.Notes
latesttag is already published bydocker.yml(verifiedlatestand5.0.0both exist in GHCR), so no change needed there.plugin.jsonwas normalized tojqformatting so future release PRs show a one-line version diff.🤖 Generated with Claude Code