name: CI on: push: branches: [main] pull_request: jobs: test: runs-on: docker container: image: python:3.12-slim services: postgres: image: postgres:16 env: POSTGRES_USER: test POSTGRES_PASSWORD: test POSTGRES_DB: ix_test options: >- --health-cmd="pg_isready -U test" --health-interval=5s --health-timeout=3s --health-retries=10 env: IX_POSTGRES_URL: postgresql+asyncpg://test:test@postgres:5432/ix_test IX_TEST_MODE: fake steps: - uses: actions/checkout@v4 - name: Install system deps for python-magic / PyMuPDF run: | apt-get update && apt-get install -y --no-install-recommends \ libmagic1 libgl1 libglib2.0-0 - name: Install uv run: pip install --no-cache-dir uv - name: Install project run: uv sync --extra dev - name: Lint run: uv run ruff check src tests - name: Unit + integration tests (no GPU, no live Ollama) run: uv run pytest tests/unit tests/integration -v