diff --git a/.github/workflows/api-tests.yml b/.github/workflows/api-tests.yml index c87d5a4dd4..dad206181a 100644 --- a/.github/workflows/api-tests.yml +++ b/.github/workflows/api-tests.yml @@ -77,22 +77,3 @@ jobs: - name: Run Workflow run: poetry run -C api bash dev/pytest/pytest_workflow.sh - - - name: Set up Vector Stores (Weaviate, Qdrant, PGVector, Milvus, PgVecto-RS, Chroma, MyScale, ElasticSearch, Couchbase) - uses: hoverkraft-tech/compose-action@v2.0.0 - with: - compose-file: | - docker/docker-compose.yaml - services: | - weaviate - qdrant - couchbase-server - etcd - minio - milvus-standalone - pgvecto-rs - pgvector - chroma - elasticsearch - - name: Test Vector Stores - run: poetry run -C api bash dev/pytest/pytest_vdb.sh diff --git a/.github/workflows/vdb-tests.yml b/.github/workflows/vdb-tests.yml new file mode 100644 index 0000000000..d859fff647 --- /dev/null +++ b/.github/workflows/vdb-tests.yml @@ -0,0 +1,75 @@ +name: Run VDB Tests + +on: + pull_request: + branches: + - main + paths: + - api/core/rag/datasource/** + - docker/** + +concurrency: + group: api-tests-${{ github.head_ref || github.run_id }} + cancel-in-progress: true + +jobs: + test: + name: VDB Tests + runs-on: ubuntu-latest + strategy: + matrix: + python-version: + - "3.10" + - "3.11" + - "3.12" + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + cache-dependency-path: | + api/pyproject.toml + api/poetry.lock + + - name: Install Poetry + uses: abatilo/actions-poetry@v3 + + - name: Check Poetry lockfile + run: | + poetry check -C api --lock + poetry show -C api + + - name: Install dependencies + run: poetry install -C api --with dev + + - name: Set up dotenvs + run: | + cp docker/.env.example docker/.env + cp docker/middleware.env.example docker/middleware.env + + - name: Expose Service Ports + run: sh .github/workflows/expose_service_ports.sh + + - name: Set up Vector Stores (Weaviate, Qdrant, PGVector, Milvus, PgVecto-RS, Chroma, MyScale, ElasticSearch, Couchbase) + uses: hoverkraft-tech/compose-action@v2.0.0 + with: + compose-file: | + docker/docker-compose.yaml + services: | + weaviate + qdrant + couchbase-server + etcd + minio + milvus-standalone + pgvecto-rs + pgvector + chroma + elasticsearch + + - name: Test Vector Stores + run: poetry run -C api bash dev/pytest/pytest_vdb.sh