<!-- .github/pull_request_template.md --> ## Description Add relational db migration action ## DCO Affirmation I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin.
82 lines
2.6 KiB
YAML
82 lines
2.6 KiB
YAML
name: Reusable Vector DB Tests
|
|
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
databases:
|
|
required: false
|
|
type: string
|
|
default: "all"
|
|
description: "Which vector databases to test (comma-separated list or 'all')"
|
|
secrets:
|
|
WEAVIATE_API_URL:
|
|
required: false
|
|
WEAVIATE_API_KEY:
|
|
required: false
|
|
|
|
jobs:
|
|
run-kuzu-tests:
|
|
name: Kuzu Tests
|
|
runs-on: ubuntu-22.04
|
|
if: ${{ inputs.databases == 'all' || contains(inputs.databases, 'kuzu') }}
|
|
steps:
|
|
- name: Check out
|
|
uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Cognee Setup
|
|
uses: ./.github/actions/cognee_setup
|
|
with:
|
|
python-version: ${{ inputs.python-version }}
|
|
|
|
- name: Install specific db dependency
|
|
run: |
|
|
poetry install -E kuzu
|
|
|
|
- name: Run Kuzu Tests
|
|
env:
|
|
ENV: 'dev'
|
|
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
|
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
|
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
|
LLM_API_VERSION: ${{ secrets.LLM_API_VERSION }}
|
|
EMBEDDING_MODEL: ${{ secrets.EMBEDDING_MODEL }}
|
|
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
|
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
|
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
|
run: poetry run python ./cognee/tests/test_kuzu.py
|
|
|
|
run-neo4j-tests:
|
|
name: Neo4j Tests
|
|
runs-on: ubuntu-22.04
|
|
if: ${{ inputs.databases == 'all' || contains(inputs.databases, 'neo4j') }}
|
|
steps:
|
|
- name: Check out
|
|
uses: actions/checkout@master
|
|
|
|
- name: Cognee Setup
|
|
uses: ./.github/actions/cognee_setup
|
|
with:
|
|
python-version: ${{ inputs.python-version }}
|
|
|
|
- name: Install specific db dependency
|
|
run: |
|
|
poetry install -E neo4j
|
|
|
|
- name: Run default Neo4j
|
|
env:
|
|
ENV: 'dev'
|
|
LLM_MODEL: ${{ secrets.LLM_MODEL }}
|
|
LLM_ENDPOINT: ${{ secrets.LLM_ENDPOINT }}
|
|
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
|
|
LLM_API_VERSION: ${{ secrets.LLM_API_VERSION }}
|
|
EMBEDDING_MODEL: ${{ secrets.EMBEDDING_MODEL }}
|
|
EMBEDDING_ENDPOINT: ${{ secrets.EMBEDDING_ENDPOINT }}
|
|
EMBEDDING_API_KEY: ${{ secrets.EMBEDDING_API_KEY }}
|
|
EMBEDDING_API_VERSION: ${{ secrets.EMBEDDING_API_VERSION }}
|
|
GRAPH_DATABASE_PROVIDER: "neo4j"
|
|
GRAPH_DATABASE_URL: ${{ secrets.NEO4J_API_URL }}
|
|
GRAPH_DATABASE_PASSWORD: ${{ secrets.NEO4J_API_KEY }}
|
|
GRAPH_DATABASE_USERNAME: "neo4j"
|
|
run: poetry run python ./cognee/tests/test_neo4j.py
|