From f0076ff1f4ad9d8ae3db5a638c6827b1e2f015a2 Mon Sep 17 00:00:00 2001 From: nessi Date: Sun, 15 Feb 2026 20:14:12 +0100 Subject: [PATCH] [NX-501 Issue] Replace GitHub Actions postgres service with Docker container. The PostgreSQL service in the GitHub Actions workflow was replaced by a Docker container for better control and flexibility. Additional steps were added to manage the container lifecycle, including starting, logging, and cleaning up. Also, updated the app version from 0.2.4 to 0.2.5. --- .github/workflows/e2e-api-smoke.yml | 36 +++++++++++++++++------------ backend/app/core/config.py | 2 +- 2 files changed, 22 insertions(+), 16 deletions(-) diff --git a/.github/workflows/e2e-api-smoke.yml b/.github/workflows/e2e-api-smoke.yml index 7186a16..49d13ea 100644 --- a/.github/workflows/e2e-api-smoke.yml +++ b/.github/workflows/e2e-api-smoke.yml @@ -17,21 +17,6 @@ jobs: name: Core API E2E Smoke runs-on: ubuntu-latest - services: - postgres: - image: postgres:16 - env: - POSTGRES_DB: nexapg - POSTGRES_USER: nexapg - POSTGRES_PASSWORD: nexapg - ports: - - 5432:5432 - options: >- - --health-cmd "pg_isready -U nexapg -d nexapg" - --health-interval 5s - --health-timeout 5s - --health-retries 20 - env: APP_NAME: NexaPG Monitor ENVIRONMENT: test @@ -62,6 +47,17 @@ jobs: with: python-version: "3.13" + - name: Start PostgreSQL container + run: | + docker rm -f nexapg-e2e-pg >/dev/null 2>&1 || true + docker run -d \ + --name nexapg-e2e-pg \ + -e POSTGRES_DB=nexapg \ + -e POSTGRES_USER=nexapg \ + -e POSTGRES_PASSWORD=nexapg \ + -p 5432:5432 \ + postgres:16 + - name: Install backend dependencies + test tooling run: | python -m pip install --upgrade pip @@ -94,6 +90,12 @@ jobs: asyncio.run(wait_for_db()) PY + - name: Show PostgreSQL container status + if: ${{ always() }} + run: | + docker ps -a --filter "name=nexapg-e2e-pg" + docker logs --tail=80 nexapg-e2e-pg || true + - name: Run Alembic migrations working-directory: backend run: alembic upgrade head @@ -102,3 +104,7 @@ jobs: env: PYTHONPATH: backend run: pytest -q backend/tests/e2e/test_api_smoke.py + + - name: Cleanup PostgreSQL container + if: ${{ always() }} + run: docker rm -f nexapg-e2e-pg >/dev/null 2>&1 || true diff --git a/backend/app/core/config.py b/backend/app/core/config.py index 9fea94a..1e02675 100644 --- a/backend/app/core/config.py +++ b/backend/app/core/config.py @@ -2,7 +2,7 @@ from functools import lru_cache from pydantic import field_validator from pydantic_settings import BaseSettings, SettingsConfigDict -NEXAPG_VERSION = "0.2.4" +NEXAPG_VERSION = "0.2.5" class Settings(BaseSettings):