Fix util script to update Cargo.lock (#7249)

This commit is contained in:
Cameron
2025-11-07 14:27:11 -05:00
committed by GitHub
parent 1002ce7de5
commit 76c1f46675

40
util.py
View File

@@ -11,6 +11,7 @@ NB: This is not part of the core sqlfluff code.
import os
import re
import shutil
import subprocess
import time
import click
@@ -74,6 +75,24 @@ def convert_pep440_to_semver(version: str) -> str:
return f"{base_version}-{semver_pre_type}.{pre_num}"
def check_cargo_installed():
"""Check if cargo is installed and available.
Returns:
bool: True if cargo is installed, False otherwise.
"""
try:
result = subprocess.run(
["cargo", "--version"],
capture_output=True,
text=True,
check=False,
)
return result.returncode == 0
except FileNotFoundError:
return False
@cli.command()
@click.argument("new_version_num")
def release(new_version_num):
@@ -261,6 +280,27 @@ def release(new_version_num):
write_file.write(line)
write_file.close()
# Update Cargo.lock via `cargo check`
if check_cargo_installed():
click.echo("Running cargo check to update Cargo.lock...")
result = subprocess.run(
["cargo", "check"],
cwd="sqlfluffrs",
capture_output=True,
text=True,
check=False,
)
if result.returncode == 0:
click.echo("✓ Rust cargo check complete")
else:
click.echo("✗ Rust cargo check failed:")
if result.stdout:
click.echo(result.stdout)
if result.stderr:
click.echo(result.stderr)
else:
click.echo("Error: cargo not installed, unable to update Cargo.lock")
keys = ["version"]
if not is_pre_release:
# Only update stable_version if it's not a pre-release.