Github Actions for Testing (#69)
* feat(ci) Add github action with github service container * chore(ci) Change hostname for service container * chore(ci) Add Trust Flag * chore(ci) Use Defaults * readability * Try to use localhost * chore(ci) Use non-default database * Try with default credentials but non-standard db * Try to ignore pwd
This commit is contained in:
parent
25229921c6
commit
e553a871f7
|
|
@ -0,0 +1,61 @@
|
|||
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:
|
||||
CONNECTION_URI: postgresql+psycopg://postgres:postgres@localhost:5432/test_db
|
||||
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 }}
|
||||
|
||||
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ services:
|
|||
env_file:
|
||||
- .env
|
||||
database:
|
||||
image: ankane/pgvector
|
||||
image: pgvector/pgvector:pg15
|
||||
restart: always
|
||||
ports:
|
||||
- 5432:5432
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ logger = logging.getLogger(__name__)
|
|||
# Test database URL
|
||||
# TODO use environment variable
|
||||
CONNECTION_URI = make_url(os.getenv("CONNECTION_URI"))
|
||||
TEST_DB_URL = CONNECTION_URI.set(database="test")
|
||||
TEST_DB_URL = CONNECTION_URI.set(database="test_db")
|
||||
DEFAULT_DB_URL = str(CONNECTION_URI.set(database="postgres"))
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue