Repository navigation
Releases publish themselves when a new version reaches main - #10
Merged
Merged
Conversation
A session can push a branch but not a tag, and a release made by hand on the website is the step nothing reminds anyone of. The publish workflow now runs on a push to main that changes the version: when the package, server.json and the CHANGELOG agree and no v<version> tag exists, it publishes to PyPI, then tags the commit and creates the GitHub release, then lists the server in the MCP Registry. A version already tagged is never published again; PyPI's upload skips files it already has, so a run that stopped halfway can simply run again. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LrnN33G65kWMuv8y7xpUk4
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 changed
The publish workflow ran on a pushed
v*tag. A Claude Code session can push branches but not tags (the push is refused), and before that releases were made by hand on the website, the step nothing reminds anyone of. So 0.2.0 is merged and unpublished.Now it runs on a push to
mainthat changes the version, and on demand:__version__, bothserver.jsonversions and a## X.Y.Z (CHANGELOG entry agree (fails loudly if not), and stops quietly whenvX.Y.Zis already tagged.skip-existingso a half-finished run can simply run again.CONTRIBUTING's Releases section says so, with the version rule (semver: patch for fixes only, minor for anything a user notices, major for a change to their code). Merging this publishes 0.2.0.
How it was checked
The workflow parses, and its version step was run locally against this tree:
version=0.2.0,new=true.v0.1.0tov0.1.2exist, so none of those is published again.Not testable before merge: the PyPI upload from a
mainpush. If thepypienvironment only allows tags, the publish job will say so and I will report it.pytestandruff check .passNo runtime dependency added; works on Python 3.9
robots.txt and the request limits are respected (no reader changed)
Generated by Claude Code