name: FastAPI Tests with PostgreSQL and uv on: push: branches: [ main ] pull_request: branches: [ main ] jobs: test: runs-on: ubuntu-latest services: database: image: pgvector/pgvector:pg15 env: POSTGRES_DB: test_db POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_HOST_AUTH_METHOD: trust ports: - 5432:5432 options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 steps: - uses: actions/checkout@v4 - name: Install uv uses: astral-sh/setup-uv@v2 with: enable-cache: true cache-dependency-glob: "uv.lock" - name: "Set up Python" uses: actions/setup-python@v5 with: python-version-file: "pyproject.toml" - name : Install the project run: uv sync --all-extras --dev - name: Run Tests run: uv run pytest -x env: DB_CONNECTION_URI: postgresql+psycopg://postgres:postgres@localhost:5432/test_db AUTH_USE_AUTH: false SENTRY_ENABLED: false OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}