fix: sync all version files to 0.30.2 and add CI check

The 0.30.2 bump was done manually and missed several files:
- .claude-plugin/plugin.json (was 0.30.0)
- .claude-plugin/marketplace.json (was 0.30.0)
- npm-package/package.json (was 0.30.1)
- integrations/beads-mcp/pyproject.toml (was 0.30.1)
- integrations/beads-mcp/src/beads_mcp/__init__.py (was 0.30.1)

Added scripts/check-versions.sh and CI job to prevent this in future.
Always use scripts/bump-version.sh for version bumps.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Steve Yegge
2025-12-16 17:13:01 -08:00
parent d3b0cbb8b8
commit a6f0c2d497
7 changed files with 87 additions and 5 deletions

View File

@@ -9,7 +9,7 @@
"name": "beads",
"source": "./",
"description": "AI-supervised issue tracker for coding workflows",
"version": "0.30.0"
"version": "0.30.2"
}
]
}

View File

@@ -1,7 +1,7 @@
{
"name": "beads",
"description": "AI-supervised issue tracker for coding workflows. Manage tasks, discover work, and maintain context with simple CLI commands.",
"version": "0.30.0",
"version": "0.30.2",
"author": {
"name": "Steve Yegge",
"url": "https://github.com/steveyegge"

View File

@@ -7,6 +7,16 @@ on:
branches: [ main ]
jobs:
# Fast check to ensure all version files are in sync
check-version-consistency:
name: Check version consistency
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- name: Check all versions match
run: ./scripts/check-versions.sh
# Fast check to catch accidental .beads/issues.jsonl changes from contributors
check-no-beads-changes:
name: Check for .beads changes

View File

@@ -1,6 +1,6 @@
[project]
name = "beads-mcp"
version = "0.30.1"
version = "0.30.2"
description = "MCP server for beads issue tracker."
readme = "README.md"
requires-python = ">=3.10"

View File

@@ -4,4 +4,4 @@ This package provides an MCP (Model Context Protocol) server that exposes
beads (bd) issue tracker functionality to MCP Clients.
"""
__version__ = "0.30.1"
__version__ = "0.30.2"

View File

@@ -1,6 +1,6 @@
{
"name": "@beads/bd",
"version": "0.30.1",
"version": "0.30.2",
"description": "Beads issue tracker - lightweight memory system for coding agents with native binary support",
"main": "bin/bd.js",
"bin": {

72
scripts/check-versions.sh Executable file
View File

@@ -0,0 +1,72 @@
#!/bin/bash
# Check that all version files are in sync
# Run this before committing version bumps
set -e
RED='\033[0;31m'
GREEN='\033[0;32m'
NC='\033[0m'
# Get the canonical version from version.go
CANONICAL=$(grep 'Version = ' cmd/bd/version.go | sed 's/.*"\(.*\)".*/\1/')
if [ -z "$CANONICAL" ]; then
echo -e "${RED}❌ Could not read version from cmd/bd/version.go${NC}"
exit 1
fi
echo "Canonical version (from version.go): $CANONICAL"
echo ""
MISMATCH=0
check_version() {
local file=$1
local version=$2
local description=$3
if [ "$version" != "$CANONICAL" ]; then
echo -e "${RED}$description: $version (expected $CANONICAL)${NC}"
MISMATCH=1
else
echo -e "${GREEN}$description: $version${NC}"
fi
}
# Check all version files
check_version "integrations/beads-mcp/pyproject.toml" \
"$(grep '^version = ' integrations/beads-mcp/pyproject.toml 2>/dev/null | sed 's/.*"\(.*\)".*/\1/')" \
"MCP pyproject.toml"
check_version "integrations/beads-mcp/src/beads_mcp/__init__.py" \
"$(grep '__version__ = ' integrations/beads-mcp/src/beads_mcp/__init__.py 2>/dev/null | sed 's/.*"\(.*\)".*/\1/')" \
"MCP __init__.py"
check_version ".claude-plugin/plugin.json" \
"$(jq -r '.version' .claude-plugin/plugin.json 2>/dev/null)" \
"Claude plugin.json"
check_version ".claude-plugin/marketplace.json" \
"$(jq -r '.plugins[0].version' .claude-plugin/marketplace.json 2>/dev/null)" \
"Claude marketplace.json"
check_version "npm-package/package.json" \
"$(jq -r '.version' npm-package/package.json 2>/dev/null)" \
"npm package.json"
check_version "cmd/bd/templates/hooks/pre-commit" \
"$(grep '# bd-hooks-version:' cmd/bd/templates/hooks/pre-commit 2>/dev/null | sed 's/.*: //')" \
"Hook templates"
echo ""
if [ $MISMATCH -eq 1 ]; then
echo -e "${RED}❌ Version mismatch detected!${NC}"
echo ""
echo "Run: scripts/bump-version.sh $CANONICAL"
echo "Or manually update the mismatched files."
exit 1
else
echo -e "${GREEN}✓ All versions match: $CANONICAL${NC}"
fi