|
7 | 7 | push: |
8 | 8 | branches: |
9 | 9 | - main |
10 | | - |
| 10 | + |
11 | 11 | concurrency: |
12 | 12 | group: ${{ github.workflow }}-${{ github.ref_name }} |
13 | 13 | cancel-in-progress: true |
|
22 | 22 | - '5-community' |
23 | 23 | - '5-enterprise' |
24 | 24 | - 'latest' |
25 | | - services: |
26 | | - t2v-transformers: |
27 | | - image: cr.weaviate.io/semitechnologies/transformers-inference:sentence-transformers-all-MiniLM-L6-v2 |
28 | | - env: |
29 | | - ENABLE_CUDA: '0' |
30 | | - credentials: |
31 | | - username: ${{ secrets.DOCKERHUB_USERNAME }} |
32 | | - password: ${{ secrets.DOCKERHUB_TOKEN }} |
33 | | - weaviate: |
34 | | - image: cr.weaviate.io/semitechnologies/weaviate:1.25.1 |
35 | | - env: |
36 | | - TRANSFORMERS_INFERENCE_API: 'http://t2v-transformers:8080' |
37 | | - AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true' |
38 | | - DEFAULT_VECTORIZER_MODULE: 'text2vec-transformers' |
39 | | - ENABLE_MODULES: 'text2vec-transformers' |
40 | | - CLUSTER_HOSTNAME: 'node1' |
41 | | - ports: |
42 | | - - 8080:8080 |
43 | | - - 50051:50051 |
44 | | - credentials: |
45 | | - username: ${{ secrets.DOCKERHUB_USERNAME }} |
46 | | - password: ${{ secrets.DOCKERHUB_TOKEN }} |
47 | | - neo4j: |
48 | | - image: neo4j:${{ matrix.neo4j-tag }} |
49 | | - env: |
50 | | - NEO4J_AUTH: neo4j/password |
51 | | - NEO4J_ACCEPT_LICENSE_AGREEMENT: 'eval' |
52 | | - NEO4J_PLUGINS: '["apoc"]' |
53 | | - ports: |
54 | | - - 7687:7687 |
55 | | - - 7474:7474 |
56 | | - credentials: |
57 | | - username: ${{ secrets.DOCKERHUB_USERNAME }} |
58 | | - password: ${{ secrets.DOCKERHUB_TOKEN }} |
59 | | - qdrant: |
60 | | - image: qdrant/qdrant |
61 | | - ports: |
62 | | - - 6333:6333 |
63 | | - |
64 | 25 | steps: |
65 | 26 | - name: Check out repository code |
66 | 27 | uses: actions/checkout@v4 |
|
75 | 36 | docker builder prune -af || true |
76 | 37 | sudo apt-get clean || true |
77 | 38 | df -h |
| 39 | + - name: Create Docker network |
| 40 | + run: docker network create test-network |
| 41 | + - name: Start t2v-transformers |
| 42 | + run: | |
| 43 | + docker run -d --name t2v-transformers \ |
| 44 | + --network test-network \ |
| 45 | + -e ENABLE_CUDA=0 \ |
| 46 | + cr.weaviate.io/semitechnologies/transformers-inference:sentence-transformers-all-MiniLM-L6-v2 |
| 47 | + - name: Start Weaviate |
| 48 | + run: | |
| 49 | + docker run -d --name weaviate \ |
| 50 | + --network test-network \ |
| 51 | + -p 8080:8080 -p 50051:50051 \ |
| 52 | + -e TRANSFORMERS_INFERENCE_API='http://t2v-transformers:8080' \ |
| 53 | + -e AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED='true' \ |
| 54 | + -e DEFAULT_VECTORIZER_MODULE='text2vec-transformers' \ |
| 55 | + -e ENABLE_MODULES='text2vec-transformers' \ |
| 56 | + -e CLUSTER_HOSTNAME='node1' \ |
| 57 | + cr.weaviate.io/semitechnologies/weaviate:1.25.1 |
| 58 | + - name: Start Neo4j |
| 59 | + run: | |
| 60 | + docker run -d --name neo4j \ |
| 61 | + --network test-network \ |
| 62 | + -p 7687:7687 -p 7474:7474 \ |
| 63 | + -e NEO4J_AUTH=neo4j/password \ |
| 64 | + -e NEO4J_ACCEPT_LICENSE_AGREEMENT=eval \ |
| 65 | + -e NEO4J_PLUGINS='["apoc"]' \ |
| 66 | + neo4j:${{ matrix.neo4j-tag }} |
| 67 | + - name: Start Qdrant |
| 68 | + run: | |
| 69 | + docker run -d --name qdrant \ |
| 70 | + --network test-network \ |
| 71 | + -p 6333:6333 \ |
| 72 | + qdrant/qdrant |
78 | 73 | - name: Set up Python ${{ matrix.python-version }} |
79 | 74 | uses: actions/setup-python@v5 |
80 | 75 | with: |
@@ -106,6 +101,22 @@ jobs: |
106 | 101 | run: | |
107 | 102 | set +e |
108 | 103 | 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 |
| 104 | + - name: Wait for Neo4j to be ready |
| 105 | + shell: bash |
| 106 | + run: | |
| 107 | + echo "Waiting for Neo4j to be ready..." |
| 108 | + count=0 |
| 109 | + until curl -s --fail http://localhost:7474 > /dev/null 2>&1; do |
| 110 | + ((count++)) |
| 111 | + if [ $count -ge 30 ]; then |
| 112 | + echo "Neo4j failed to start within timeout" |
| 113 | + docker logs neo4j |
| 114 | + exit 1 |
| 115 | + fi |
| 116 | + echo "Waiting for Neo4j... (attempt $count/30)" |
| 117 | + sleep 5 |
| 118 | + done |
| 119 | + echo "Neo4j is ready!" |
109 | 120 | - name: Run tests |
110 | 121 | shell: bash |
111 | 122 | run: | |
|
0 commit comments