57 lines
1.2 KiB
YAML
57 lines
1.2 KiB
YAML
name: LiteLLM Linting
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 5
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.12'
|
|
|
|
- name: Install Poetry
|
|
uses: snok/install-poetry@v1
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
pip install openai==1.99.5
|
|
poetry install --with dev
|
|
pip install openai==1.99.5
|
|
|
|
|
|
|
|
- name: Run Black formatting
|
|
run: |
|
|
cd litellm
|
|
poetry run black .
|
|
cd ..
|
|
|
|
- name: Run Ruff linting
|
|
run: |
|
|
cd litellm
|
|
poetry run ruff check .
|
|
cd ..
|
|
|
|
- name: Run MyPy type checking
|
|
run: |
|
|
cd litellm
|
|
poetry run mypy . --ignore-missing-imports
|
|
cd ..
|
|
|
|
- name: Check for circular imports
|
|
run: |
|
|
cd litellm
|
|
poetry run python ../tests/documentation_tests/test_circular_imports.py
|
|
cd ..
|
|
|
|
- name: Check import safety
|
|
run: |
|
|
poetry run python -c "from litellm import *" || (echo '🚨 import failed, this means you introduced unprotected imports! 🚨'; exit 1) |