Spaces:
Running
Running
| name: CI | |
| on: | |
| push: | |
| branches: [main, develop] | |
| pull_request: | |
| branches: [main, develop] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ["3.11"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| version: "latest" | |
| - name: Set up Python ${{ matrix.python-version }} | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install dependencies | |
| run: | | |
| uv sync --dev | |
| - name: Lint with ruff | |
| run: | | |
| uv run ruff check . --exclude tests | |
| uv run ruff format --check . --exclude tests | |
| - name: Type check with mypy | |
| run: | | |
| uv run mypy src | |
| - name: Run unit tests (No Black Box Apis) | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
| run: | | |
| uv run pytest tests/unit/ -v -m "not openai and not embedding_provider" --tb=short -p no:logfire | |
| - name: Run local embeddings tests | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
| run: | | |
| uv run pytest tests/ -v -m "local_embeddings" --tb=short -p no:logfire || true | |
| continue-on-error: true # Allow failures if dependencies not available | |
| - name: Run HuggingFace integration tests | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
| run: | | |
| uv run pytest tests/integration/ -v -m "huggingface and not embedding_provider" --tb=short -p no:logfire || true | |
| continue-on-error: true # Allow failures if HF_TOKEN not set | |
| - name: Run non-OpenAI integration tests (excluding embedding providers) | |
| env: | |
| HF_TOKEN: ${{ secrets.HF_TOKEN }} | |
| run: | | |
| uv run pytest tests/integration/ -v -m "integration and not openai and not embedding_provider" --tb=short -p no:logfire || true | |
| continue-on-error: true # Allow failures if dependencies not available | |