패키지 릴리스 런북¶
목적¶
이 저장소의 Python direct client, relay 패키지, Java 아티팩트를 릴리스 후보 수준으로 빌드하고 검증하는 절차를 정리합니다.
현재 범위¶
- Python 패키지 1:
clients/python - Python 패키지 2:
relay - Java 패키지:
clients/java
이 저장소는 현재 GitHub Actions에서 릴리스 아티팩트 빌드까지 자동화합니다. 외부 레지스트리(PyPI, Maven Central) 실제 업로드는 별도 자격 증명이 필요하므로 이 런북은 credential-free 범위를 우선 다룹니다.
로컬 사전 검증¶
Python client¶
cd clients/python
uv run pytest --cov=litellm_example --cov-fail-under=100 --cov-report=term-missing
uv run --with build python -m build
relay¶
cd relay
uv run pytest --cov=litellm_relay --cov-fail-under=100 --cov-report=term-missing
uv run --with build python -m build
Java¶
산출물¶
Python¶
clients/python/dist/*.whlclients/python/dist/*.tar.gzrelay/dist/*.whlrelay/dist/*.tar.gz
Java¶
clients/java/target/*.jar
GitHub Actions 워크플로우¶
- 파일:
.github/workflows/release-artifacts.yml - 트리거:
pushon tagsv*workflow_dispatch
이 워크플로우는 다음을 수행합니다.
clients/pythonwheel/sdist 빌드relaywheel/sdist 빌드clients/javajar 빌드- 각 산출물을 GitHub Actions artifact로 업로드
권장 릴리스 순서¶
main기준 CI green 확인mkdocs build --strict확인- Python 두 패키지와 Java 아티팩트 로컬 빌드
- 필요하면 간단한 smoke install 수행
vX.Y.Z태그 생성Release Artifactsworkflow 산출물 확인- 외부 레지스트리 업로드가 필요하면 별도 credential workflow에서 진행
smoke install 예시¶
Python client¶
cd clients/python
uv run --with build python -m build
python3 -m venv /tmp/litellm-python-smoke
source /tmp/litellm-python-smoke/bin/activate
pip install dist/*.whl
python -m litellm_example --help
deactivate
relay¶
cd relay
uv run --with build python -m build
python3 -m venv /tmp/litellm-relay-smoke
source /tmp/litellm-relay-smoke/bin/activate
pip install dist/*.whl
litellm-relay --help
deactivate
Java¶
cd clients/java
mvn -DskipTests package
java -jar target/litellm-o3-deep-research-java-0.1.0.jar --help
장애 시 점검 항목¶
pyproject.toml의readme/metadata 누락 여부pom.xml의 SCM/개발자 메타데이터 누락 여부dist/또는target/산출물 생성 실패 여부- tag push 없이 workflow를 기대하고 있지 않은지 여부
- 외부 패키지 레지스트리 자격 증명 부재 여부