Skip to content

Commit 337aeba

Browse files
willtaioskarhane
andauthored
Resolve issue with GitHub Actions runner running out of disk space (#93)
* Reduce parallelism * Docker pruning * Max parallel 3 jobs * Increase concurrent limit to 6 * New workflow for scheduled E2E tests on main * Update .github/workflows/scheduled-e2e-tests.yaml Co-authored-by: Oskar Hane <oh@oskarhane.com> * Removed push rules from pr-e2e-tests.yaml --------- Co-authored-by: Oskar Hane <oh@oskarhane.com>
1 parent 626c42d commit 337aeba

File tree

2 files changed

+97
-2
lines changed

2 files changed

+97
-2
lines changed

.github/workflows/pr-e2e-tests.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@ jobs:
1515
runs-on: ubuntu-latest
1616
strategy:
1717
matrix:
18-
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
18+
python-version: ['3.8', '3.12']
1919
neo4j-version:
2020
- 5
2121
neo4j-edition:
22-
- community
2322
- enterprise
2423
services:
2524
t2v-transformers:
@@ -50,6 +49,10 @@ jobs:
5049
steps:
5150
- name: Check out repository code
5251
uses: actions/checkout@v4
52+
- name: Docker Prune
53+
run: |
54+
docker system prune -af
55+
docker volume prune -f
5356
- name: Set up Python ${{ matrix.python-version }}
5457
uses: actions/setup-python@v5
5558
with:
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
name: 'Neo4j-GenAI Scheduled E2E Tests'
2+
3+
on:
4+
schedule:
5+
- cron: '0 6,9,12,15,18 * * 1-5' # Runs every 3 hours daytime on working days
6+
push:
7+
branches:
8+
- main
9+
10+
jobs:
11+
e2e-tests:
12+
runs-on: ubuntu-latest
13+
strategy:
14+
max-parallel: 6
15+
matrix:
16+
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
17+
neo4j-version:
18+
- 5
19+
neo4j-edition:
20+
- community
21+
- enterprise
22+
services:
23+
t2v-transformers:
24+
image: cr.weaviate.io/semitechnologies/transformers-inference:sentence-transformers-all-MiniLM-L6-v2-onnx
25+
env:
26+
ENABLE_CUDA: '0'
27+
weaviate:
28+
image: cr.weaviate.io/semitechnologies/weaviate:1.25.1
29+
env:
30+
TRANSFORMERS_INFERENCE_API: 'http://t2v-transformers:8080'
31+
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
32+
DEFAULT_VECTORIZER_MODULE: 'text2vec-transformers'
33+
ENABLE_MODULES: 'text2vec-transformers'
34+
CLUSTER_HOSTNAME: 'node1'
35+
ports:
36+
- 8080:8080
37+
- 50051:50051
38+
neo4j:
39+
image: neo4j:${{ matrix.neo4j-version }}-${{ matrix.neo4j-edition }}
40+
env:
41+
NEO4J_AUTH: neo4j/password
42+
NEO4J_ACCEPT_LICENSE_AGREEMENT: 'eval'
43+
NEO4J_PLUGINS: '["apoc"]'
44+
ports:
45+
- 7687:7687
46+
- 7474:7474
47+
48+
steps:
49+
- name: Check out repository code
50+
uses: actions/checkout@v4
51+
- name: Docker Prune
52+
run: |
53+
docker system prune -af
54+
docker volume prune -f
55+
- name: Set up Python ${{ matrix.python-version }}
56+
uses: actions/setup-python@v5
57+
with:
58+
python-version: ${{ matrix.python-version }}
59+
- name: Install Poetry
60+
uses: snok/install-poetry@v1
61+
with:
62+
virtualenvs-create: true
63+
virtualenvs-in-project: true
64+
installer-parallel: true
65+
- name: Set Python version for Poetry
66+
run: poetry env use python${{ matrix.python-version }}
67+
- name: Load cached venv
68+
id: cached-poetry-dependencies
69+
uses: actions/cache@v4
70+
with:
71+
path: .venv
72+
key: ${{ runner.os }}-venv-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }}
73+
- name: Install dependencies
74+
if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
75+
run: poetry install --no-interaction --no-root
76+
- name: Install root project
77+
run: poetry install --no-interaction
78+
- name: Install dependencies
79+
run: poetry install --with dev
80+
- name: Wait for Weaviate to start
81+
shell: bash
82+
run: |
83+
set +e
84+
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
85+
- name: Run tests
86+
shell: bash
87+
run: |
88+
if [[ "${{ matrix.neo4j-edition }}" == "community" ]]; then
89+
poetry run pytest -m 'not enterprise_only' ./tests/e2e
90+
else
91+
poetry run pytest ./tests/e2e
92+
fi

0 commit comments

Comments
 (0)