Underground-Digital/Workflow-Engine
0
1name: Run VDB Tests2 3on:4 pull_request:5 branches:6 - main7 paths:8 - api/core/rag/datasource/**9 - docker/**10 - .github/workflows/vdb-tests.yml11 12concurrency:13 group: vdb-tests-${{ github.head_ref || github.run_id }}14 cancel-in-progress: true15 16jobs:17 test:18 name: VDB Tests19 runs-on: ubuntu-latest20 strategy:21 matrix:22 python-version:23 - "3.10"24 - "3.11"25 - "3.12"26 27 steps:28 - name: Checkout code29 uses: actions/checkout@v430 31 - name: Install Poetry32 uses: abatilo/actions-poetry@v333 34 - name: Set up Python ${{ matrix.python-version }}35 uses: actions/setup-python@v536 with:37 python-version: ${{ matrix.python-version }}38 cache: poetry39 cache-dependency-path: api/poetry.lock40 41 - name: Check Poetry lockfile42 run: |43 poetry check -C api --lock44 poetry show -C api45 46 - name: Install dependencies47 run: poetry install -C api --with dev48 49 - name: Set up dotenvs50 run: |51 cp docker/.env.example docker/.env52 cp docker/middleware.env.example docker/middleware.env53 54 - name: Expose Service Ports55 run: sh .github/workflows/expose_service_ports.sh56 57 - name: Set up Vector Stores (Weaviate, Qdrant, PGVector, Milvus, PgVecto-RS, Chroma, MyScale, ElasticSearch, Couchbase)58 uses: hoverkraft-tech/compose-action@v2.0.259 with:60 compose-file: |61 docker/docker-compose.yaml62 services: |63 weaviate64 qdrant65 couchbase-server66 etcd67 minio68 milvus-standalone69 pgvecto-rs70 pgvector71 chroma72 elasticsearch73 74 - name: Test Vector Stores75 run: poetry run -C api bash dev/pytest/pytest_vdb.sh76 