diff --git a/.github/workflows/unittest.yml b/.github/workflows/unittest.yml new file mode 100644 index 0000000..1d6e409 --- /dev/null +++ b/.github/workflows/unittest.yml @@ -0,0 +1,60 @@ +name: FastAPI Tests with PostgreSQL and uv + +on: + push: + branches: [ main ] + pull_request: + branches: [ main ] + +jobs: + test: + runs-on: ubuntu-latest + + services: + postgres: + image: pgvector/pgvector:pg15 + env: + POSTGRES_DB: test + POSTGRES_USER: testuser + POSTGRES_PASSWORD: testpwd + 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 + env: + CONNECTION_URI: postgresql+psycopg://testuser:testpwd@localhost:5432/test + USE_AUTH_SERVICE: false + SENTRY_ENABLED: false + OPENTELEMETRY_ENABLED: false + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + AZURE_OPENAI_ENDPOINT: ${{ secrets.AZURE_OPENAI_ENDPOINT }} + AZURE_OPENAI_API_KEY: ${{ secrets.AZURE_OPENAI_API_KEY }} + AZURE_OPENAI_API_VERSION: ${{ secrets.AZURE_OPENAI_API_VERSION }} + AZURE_OPENAI_DEPLOYMENT: ${{ secrets.AZURE_OPENAI_DEPLOYMENT }} + AZURE_OPENAI_EMBED_DEPLOYMENT: ${{ secrets.AZURE_OPENAI_EMBED_DEPLOYMENT }} + + + diff --git a/docker-compose.yml.example b/docker-compose.yml.example index 67b36a5..452c969 100644 --- a/docker-compose.yml.example +++ b/docker-compose.yml.example @@ -26,7 +26,7 @@ services: env_file: - .env database: - image: ankane/pgvector + image: pgvector/pgvector:pg15 restart: always ports: - 5432:5432