Support for conversations with message history #1355
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: 'Neo4j-GraphRAG PR E2E Tests' | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
branches: | |
- main | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number }} | |
cancel-in-progress: true | |
jobs: | |
e2e-tests: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ['3.9', '3.12'] | |
neo4j-tag: | |
- 'latest' | |
services: | |
t2v-transformers: | |
image: cr.weaviate.io/semitechnologies/transformers-inference:sentence-transformers-all-MiniLM-L6-v2-onnx | |
env: | |
ENABLE_CUDA: '0' | |
weaviate: | |
image: cr.weaviate.io/semitechnologies/weaviate:1.25.1 | |
env: | |
TRANSFORMERS_INFERENCE_API: 'http://t2v-transformers:8080' | |
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true' | |
DEFAULT_VECTORIZER_MODULE: 'text2vec-transformers' | |
ENABLE_MODULES: 'text2vec-transformers' | |
CLUSTER_HOSTNAME: 'node1' | |
ports: | |
- 8080:8080 | |
- 50051:50051 | |
neo4j: | |
image: neo4j:${{ matrix.neo4j-tag }} | |
env: | |
NEO4J_AUTH: neo4j/password | |
NEO4J_ACCEPT_LICENSE_AGREEMENT: 'eval' | |
NEO4J_PLUGINS: '["apoc"]' | |
ports: | |
- 7687:7687 | |
- 7474:7474 | |
qdrant: | |
image: qdrant/qdrant | |
ports: | |
- 6333:6333 | |
steps: | |
- name: Install graphviz package | |
run: sudo apt install graphviz graphviz-dev | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
- name: Docker Prune | |
run: | | |
docker system prune -af | |
docker volume prune -f | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install Poetry | |
uses: snok/install-poetry@v1 | |
with: | |
virtualenvs-create: true | |
virtualenvs-in-project: true | |
installer-parallel: true | |
- name: Set Python version for Poetry | |
run: poetry env use python${{ matrix.python-version }} | |
- name: Load cached venv | |
id: cached-poetry-dependencies | |
uses: actions/cache@v4 | |
with: | |
path: .venv | |
key: ${{ runner.os }}-venv-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }} | |
- name: Install dependencies | |
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' | |
run: poetry install --no-interaction --no-cache --with dev --all-extras | |
- name: Clear Poetry cache | |
run: poetry cache clear --all . | |
- name: Show disk usage after Poetry installation | |
run: | | |
df -h | |
- name: Wait for Weaviate to start | |
shell: bash | |
run: | | |
set +e | |
count=0; until curl -s --fail localhost:8080/v1/.well-known/ready; do ((count++)); [ $count -ge 10 ] && echo "Reached maximum retry limit" && exit 1; sleep 15; done | |
- name: Run tests | |
shell: bash | |
run: | | |
if [[ "${{ matrix.neo4j-tag }}" == "latest" || "${{ matrix.neo4j-tag }}" == *-community ]]; then | |
poetry run pytest -m 'not enterprise_only' ./tests/e2e | |
else | |
poetry run pytest ./tests/e2e | |
fi |