ci: fix circleci publish workflow parsing

This commit is contained in:
user 2026-04-02 19:36:51 +00:00
parent 9052f8e314
commit 070b3428bb
No known key found for this signature in database

View file

@ -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