feat: add --no-commit flag to bump command (#4087)
Some checks failed
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
Notify Downstream / notify-downstream (push) Has been cancelled
Mark stale issues and pull requests / stale (push) Has been cancelled

Allows updating version files without creating a commit, branch, or PR.
This commit is contained in:
Matt Aitchison
2025-12-15 15:32:37 -06:00
committed by GitHub
parent 38b0b125d3
commit 75ff7dce0c

View File

@@ -323,13 +323,17 @@ def cli() -> None:
"--dry-run", is_flag=True, help="Show what would be done without making changes" "--dry-run", is_flag=True, help="Show what would be done without making changes"
) )
@click.option("--no-push", is_flag=True, help="Don't push changes to remote") @click.option("--no-push", is_flag=True, help="Don't push changes to remote")
def bump(version: str, dry_run: bool, no_push: bool) -> None: @click.option(
"--no-commit", is_flag=True, help="Don't commit changes (just update files)"
)
def bump(version: str, dry_run: bool, no_push: bool, no_commit: bool) -> None:
"""Bump version across all packages in lib/. """Bump version across all packages in lib/.
Args: Args:
version: New version to set (e.g., 1.0.0, 1.0.0a1). version: New version to set (e.g., 1.0.0, 1.0.0a1).
dry_run: Show what would be done without making changes. dry_run: Show what would be done without making changes.
no_push: Don't push changes to remote. no_push: Don't push changes to remote.
no_commit: Don't commit changes (just update files).
""" """
try: try:
# Check prerequisites # Check prerequisites
@@ -397,6 +401,9 @@ def bump(version: str, dry_run: bool, no_push: bool) -> None:
else: else:
console.print("[dim][DRY RUN][/dim] Would run: uv sync") console.print("[dim][DRY RUN][/dim] Would run: uv sync")
if no_commit:
console.print("\nSkipping git operations (--no-commit flag set)")
else:
branch_name = f"feat/bump-version-{version}" branch_name = f"feat/bump-version-{version}"
if not dry_run: if not dry_run:
console.print(f"\nCreating branch {branch_name}...") console.print(f"\nCreating branch {branch_name}...")
@@ -405,7 +412,9 @@ def bump(version: str, dry_run: bool, no_push: bool) -> None:
console.print("\nCommitting changes...") console.print("\nCommitting changes...")
run_command(["git", "add", "."]) run_command(["git", "add", "."])
run_command(["git", "commit", "-m", f"feat: bump versions to {version}"]) run_command(
["git", "commit", "-m", f"feat: bump versions to {version}"]
)
console.print("[green]✓[/green] Changes committed") console.print("[green]✓[/green] Changes committed")
if not no_push: if not no_push:
@@ -413,12 +422,16 @@ def bump(version: str, dry_run: bool, no_push: bool) -> None:
run_command(["git", "push", "-u", "origin", branch_name]) run_command(["git", "push", "-u", "origin", branch_name])
console.print("[green]✓[/green] Branch pushed") console.print("[green]✓[/green] Branch pushed")
else: else:
console.print(f"[dim][DRY RUN][/dim] Would create branch: {branch_name}") console.print(
f"[dim][DRY RUN][/dim] Would create branch: {branch_name}"
)
console.print( console.print(
f"[dim][DRY RUN][/dim] Would commit: feat: bump versions to {version}" f"[dim][DRY RUN][/dim] Would commit: feat: bump versions to {version}"
) )
if not no_push: if not no_push:
console.print(f"[dim][DRY RUN][/dim] Would push branch: {branch_name}") console.print(
f"[dim][DRY RUN][/dim] Would push branch: {branch_name}"
)
if not dry_run and not no_push: if not dry_run and not no_push:
console.print("\nCreating pull request...") console.print("\nCreating pull request...")