mcp-database-server

  • scripts
#!/usr/bin/env python import re import sys import subprocess from pathlib import Path def run_command(command): try: subprocess.run(command, check=True, shell=True) except subprocess.CalledProcessError as e: print(f"Error executing command: {command}") print(f"Error: {e}") sys.exit(1) def bump_version(version_type): init_file = Path("src/odmcp/__init__.py") # Read current version content = init_file.read_text() current_version = re.search(r'__version__ = ["\']([^"\']+)["\']', content).group(1) major, minor, patch = map(int, current_version.split(".")) # Update version based on argument if version_type == "major": new_version = f"{major + 1}.0.0" elif version_type == "minor": new_version = f"{major}.{minor + 1}.0" elif version_type == "patch": new_version = f"{major}.{minor}.{patch + 1}" else: print("Invalid version type. Use 'major', 'minor', or 'patch'") sys.exit(1) # Update __init__.py new_content = re.sub( r'__version__ = ["\']([^"\']+)["\']', f'__version__ = "{new_version}"', content ) init_file.write_text(new_content) # Git operations run_command("git add src/odmcp/__init__.py") run_command(f'git commit -m "release {new_version}: version bump commit"') run_command("git push") run_command(f"git tag v{new_version}") run_command("git push --tags") # Create GitHub release using gh CLI run_command( f'gh release create v{new_version} --title "Release {new_version}" --generate-notes' ) print(f"Version bumped from {current_version} to {new_version}") print(f"Git operations completed and GitHub release v{new_version} created") if __name__ == "__main__": if len(sys.argv) != 2: print("Usage: bump_version.py <major|minor|patch>") sys.exit(1) bump_version(sys.argv[1])