From b18b0acae630422712df3bf4059bf35d14b1ffd0 Mon Sep 17 00:00:00 2001 From: Andrey Tatarinov Date: Fri, 27 Dec 2024 17:11:54 +0400 Subject: [PATCH] add postgres test matrix --- .github/workflows/test.yaml | 68 +++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml index adf33364..507fb1bc 100644 --- a/.github/workflows/test.yaml +++ b/.github/workflows/test.yaml @@ -104,3 +104,71 @@ jobs: POSTGRES_PORT: 5432 REDIS_HOST: localhost REDIS_PORT: 6379 + + test_postgres: + runs-on: ubuntu-latest + strategy: + matrix: + include: + - python-version: "3.12" + test-db-env: "postgres" + postgres-version: "12" + + - python-version: "3.12" + test-db-env: "postgres" + postgres-version: "16" + + services: + # Label used to access the service container + postgres: + # Docker Hub image + image: postgres:${{ matrix.postgres-version }} + # Provide the password for postgres + env: + POSTGRES_PASSWORD: password + # Set health checks to wait until postgres has started + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 5432:5432 + redis: + image: redis + options: >- + --health-cmd "redis-cli ping" + --health-interval 10s + --health-timeout 5s + --health-retries 5 + ports: + - 6379:6379 + quadrant: + image: qdrant/qdrant:latest + ports: + - 6333:6333 + + steps: + - uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache: pip + + - name: Install dependencies + run: | + pip install ".[sqlite,excel,milvus,gcsfs,s3fs,redis,qdrant,gcp]" "pytest<8" "pytest_cases" + + - name: Test with pytest + run: | + pytest + env: + TEST_DB_ENV: ${{ matrix.test-db-env }} + # The hostname used to communicate with the PostgreSQL service container + POSTGRES_HOST: localhost + # The default PostgreSQL port + POSTGRES_PORT: 5432 + REDIS_HOST: localhost + REDIS_PORT: 6379