diff --git a/.circleci/config.yml b/.circleci/config.yml index 682d399c281..302999ad252 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2985,13 +2985,7 @@ jobs: echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$BASH_ENV" export PATH="$HOME/.local/bin:$PATH" # Get current version from pyproject.toml - CURRENT_VERSION=$(python - <<'PY' - import tomllib - from pathlib import Path - data = tomllib.loads(Path("pyproject.toml").read_text()) - print(data["project"]["version"]) - PY - ) + CURRENT_VERSION=$(python -c 'import tomllib; from pathlib import Path; data = tomllib.loads(Path("pyproject.toml").read_text()); print(data["project"]["version"])') # Get last published version from PyPI LAST_VERSION=$(curl -s https://pypi.org/pypi/litellm-proxy-extras/json | python -c "import json, sys; print(json.load(sys.stdin)['info']['version'])") @@ -3009,15 +3003,7 @@ jobs: fi # If versions are equal or current is greater, compare against the published package contents. - EXTRACTED_DIR=$(uv run --with "litellm-proxy-extras==$LAST_VERSION" python - <<'PY' - import importlib.util - from pathlib import Path - spec = importlib.util.find_spec("litellm_proxy_extras") - if spec is None or spec.origin is None: - raise SystemExit("litellm_proxy_extras not found in uv-run environment") - print(Path(spec.origin).resolve().parent) - PY - ) + EXTRACTED_DIR=$(uv run --with "litellm-proxy-extras==$LAST_VERSION" python -c 'import importlib.util; from pathlib import Path; spec = importlib.util.find_spec("litellm_proxy_extras"); assert spec is not None and spec.origin is not None, "litellm_proxy_extras not found in uv-run environment"; print(Path(spec.origin).resolve().parent)') # Compare contents if ! diff -r "$EXTRACTED_DIR" ./litellm_proxy_extras; then @@ -3037,13 +3023,7 @@ jobs: - run: name: Get new version command: | - NEW_VERSION=$(python - <<'PY' - import tomllib - from pathlib import Path - data = tomllib.loads(Path("pyproject.toml").read_text()) - print(data["project"]["version"]) - PY - ) + NEW_VERSION=$(python -c 'import tomllib; from pathlib import Path; data = tomllib.loads(Path("pyproject.toml").read_text()); print(data["project"]["version"])') echo "export NEW_VERSION=$NEW_VERSION" >> $BASH_ENV - run: @@ -3051,22 +3031,7 @@ jobs: command: | cd ~/project # Check pyproject.toml - CURRENT_VERSION=$(uv run --with 'packaging==25.0' python - <<'PY' - import tomllib - from packaging.requirements import Requirement - from pathlib import Path - data = tomllib.loads(Path("pyproject.toml").read_text()) - for requirement in data["project"]["optional-dependencies"]["proxy"]: - parsed = Requirement(requirement) - if parsed.name == "litellm-proxy-extras" and parsed.specifier: - versions = [spec.version for spec in parsed.specifier if spec.operator == "=="] - if versions: - print(versions[0]) - break - else: - raise SystemExit("Could not find exact litellm-proxy-extras pin in project.optional-dependencies.proxy") - PY - ) + CURRENT_VERSION=$(uv run --with 'packaging==25.0' python -c 'import tomllib; from packaging.requirements import Requirement; from pathlib import Path; data = tomllib.loads(Path("pyproject.toml").read_text()); matches = [spec.version for requirement in data["project"]["optional-dependencies"]["proxy"] for parsed in [Requirement(requirement)] if parsed.name == "litellm-proxy-extras" and parsed.specifier for spec in parsed.specifier if spec.operator == "=="]; print(matches[0] if matches else (_ for _ in ()).throw(SystemExit("Could not find exact litellm-proxy-extras pin in project.optional-dependencies.proxy")))') if [ "$CURRENT_VERSION" != "$NEW_VERSION" ]; then echo "Error: Version in pyproject.toml ($CURRENT_VERSION) doesn't match new version ($NEW_VERSION)" exit 1