e2e0ffce44
Addresses remaining high-priority code review feedback: VERSIONING SCHEME FIXES: - Helm chart: Changed from pep440 to semver (correct for Helm) - Astrolabe: Changed from pep440 to semver (correct for Nextcloud apps) - MCP server: Remains pep440 (correct for Python packages) Helm charts must use semantic versioning per Helm specification. Nextcloud apps use semantic versioning in info.xml and package.json. ENHANCED ERROR HANDLING IN BUMP SCRIPTS: All three bump scripts now include: - Comprehensive validation checks * Tool availability (uv) * Directory structure (must run from repo root) * Required files exist (Chart.yaml, info.xml, package.json) - Better error messages * Stderr output for errors * Captured commitizen output on failure * Common failure causes listed - Success confirmation * Clear indication of what was updated * Next steps guidance (git push --follow-tags) - Robust shell options (set -euo pipefail) Scripts now provide helpful guidance when: - No conventional commits found - No commits with required scope - Git working directory not clean - Required dependencies missing
40 lines
1.0 KiB
Bash
Executable File
40 lines
1.0 KiB
Bash
Executable File
#!/bin/bash
|
|
# Bump MCP server version
|
|
set -euo pipefail
|
|
|
|
# Validate dependencies
|
|
command -v uv >/dev/null 2>&1 || {
|
|
echo "❌ Error: uv not found" >&2
|
|
echo " Install from https://docs.astral.sh/uv/" >&2
|
|
exit 1
|
|
}
|
|
|
|
# Validate we're in the repository root
|
|
if [ ! -f "pyproject.toml" ]; then
|
|
echo "❌ Error: Must run from repository root (pyproject.toml not found)" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "Bumping MCP server version..."
|
|
|
|
# Run commitizen bump and capture output
|
|
if ! output=$(uv run cz bump --yes 2>&1); then
|
|
echo "❌ Error: Version bump failed" >&2
|
|
echo "$output" >&2
|
|
echo "" >&2
|
|
echo "Common causes:" >&2
|
|
echo " - No commits since last version" >&2
|
|
echo " - No conventional commits found (use feat:, fix:, etc.)" >&2
|
|
echo " - Git working directory not clean" >&2
|
|
exit 1
|
|
fi
|
|
|
|
echo "$output"
|
|
echo ""
|
|
echo "✓ MCP server version bumped successfully"
|
|
echo " Updated: pyproject.toml, Chart.yaml:appVersion"
|
|
echo " Tag format: v\${version}"
|
|
echo ""
|
|
echo "Next steps:"
|
|
echo " git push --follow-tags"
|