fix: use release-X.Y tag format to avoid semver range conflict

npm rejects tags like "v1.23" because they look like semver ranges.
Use "release-1.23" format instead.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Paul Carleton 2025-12-04 18:26:51 +00:00
commit bd3c461f01
No known key found for this signature in database

View file

@ -72,13 +72,14 @@ jobs:
echo "tag=--tag beta" >> $GITHUB_OUTPUT
# Check if this release is from a non-main branch (patch/maintenance release)
elif [[ "${{ github.event.release.target_commitish }}" != "main" ]]; then
# Use major.minor as tag for old branch releases (e.g., "v1.23" for 1.23.x)
# Use "release-X.Y" as tag for old branch releases (e.g., "release-1.23" for 1.23.x)
# npm tags are mutable pointers to versions (like "latest" pointing to 1.24.3).
# Using "v1.23" means users can `npm install @modelcontextprotocol/sdk@v1.23`
# Using "release-1.23" means users can `npm install @modelcontextprotocol/sdk@release-1.23`
# to get the latest patch on that minor version, and the tag updates if we
# release 1.23.2, 1.23.3, etc.
# Note: Can't use "v1.23" because npm rejects tags that look like semver ranges.
MAJOR_MINOR=$(echo "$VERSION" | cut -d. -f1,2)
echo "tag=--tag v${MAJOR_MINOR}" >> $GITHUB_OUTPUT
echo "tag=--tag release-${MAJOR_MINOR}" >> $GITHUB_OUTPUT
else
echo "tag=" >> $GITHUB_OUTPUT
fi