From 3ece0079884804ea1ca0a5803ccee3450a37fd62 Mon Sep 17 00:00:00 2001 From: Vineeth Voruganti <13438633+VVoruganti@users.noreply.github.com> Date: Sat, 14 Sep 2024 20:15:27 -0400 Subject: [PATCH] feat(ci) Add github action with github service container --- .github/workflows/unittest.yml | 60 ++++++++++++++++++++++++++++++++++ docker-compose.yml.example | 2 +- 2 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/unittest.yml 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