3535 AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
3636 LANGFLOW_URL_INGEST_FLOW_ID : ${{ vars.LANGFLOW_URL_INGEST_FLOW_ID || '72c3d17c-2dac-4a73-b48a-6518473d7830' }}
3737 # Single-node test cluster never reaches the multi-node readiness counts
38- OPENSEARCH_NODE_COUNT_CHECK : " false"
38+ OPENSEARCH_NODE_COUNT_CHECK_ENABLED : " false"
3939
4040jobs :
4141 changes :
@@ -53,25 +53,13 @@ jobs:
5353 with :
5454 filters : |
5555 e2e:
56- - 'src/**'
57- - 'frontend/**'
58- - 'tests/**'
59- - 'scripts/**'
60- - 'flows/**'
61- - 'docker-compose.yml'
62- - 'Dockerfile*'
63- - 'Makefile'
64- - '.github/workflows/test-ci.yml'
56+ - '**'
57+ - '!docs/**'
58+ - '!**/*.md'
6559 integration:
66- - 'src/**.py'
67- - 'tests/**.py'
68- - 'pyproject.toml'
69- - 'uv.lock'
70- - 'sdks/**'
71- - 'flows/**'
72- - 'Makefile'
73- - 'scripts/**'
74- - '.github/workflows/test-ci.yml'
60+ - '**'
61+ - '!docs/**'
62+ - '!**/*.md'
7563
7664 build-images :
7765 needs : changes
8371
8472 - name : Cleanup Docker cache
8573 run : |
86- docker system prune -af || true
87- docker builder prune -af || true
8874 docker compose -f docker-compose.yml down -v --remove-orphans || true
8975
9076 - name : Cleanup root-owned files (OpenSearch data, config, Langflow data, keys, data, flows, documents)
@@ -162,8 +148,6 @@ jobs:
162148
163149 - name : Cleanup Docker cache
164150 run : |
165- docker system prune -af || true
166- docker builder prune -af || true
167151 docker compose -f docker-compose.yml down -v --remove-orphans || true
168152
169153 - name : Cleanup root-owned files (OpenSearch data, config, Langflow data, keys, data, flows, documents)
@@ -221,10 +205,19 @@ jobs:
221205 # Disable startup ingest noise unless a test enables it
222206 DISABLE_STARTUP_INGEST : " true"
223207 run : |
208+ chmod +x scripts/ci/run_integration_suite.sh
224209 OPENRAG_VERSION="${CI_IMAGE_TAG}" TEST_SUITE="${{ matrix.suite }}" make test-ci-suite
225210 echo "Keys directory after tests:"
226211 ls -la keys/ || echo "No keys directory"
227212
213+ - name : Upload service logs
214+ uses : actions/upload-artifact@v4
215+ if : failure()
216+ with :
217+ name : service-logs-${{ matrix.suite }}
218+ path : service-logs/
219+ retention-days : 7
220+
228221 e2e-run :
229222 needs : [changes, build-images]
230223 if : ${{ needs.changes.outputs.e2e == 'true' || github.event_name == 'workflow_dispatch' }}
@@ -233,8 +226,6 @@ jobs:
233226 steps :
234227 - name : Cleanup Docker cache
235228 run : |
236- docker system prune -af || true
237- docker builder prune -af || true
238229 docker compose -f docker-compose.yml down -v --remove-orphans || true
239230
240231 - name : Cleanup root-owned files (OpenSearch data, config, Langflow data, keys, data, flows, documents)
@@ -268,7 +259,18 @@ jobs:
268259 - name : Install Playwright Browsers
269260 working-directory : frontend
270261 run : |
271- npx playwright install --with-deps chromium
262+ for i in 1 2 3; do
263+ echo "Installing Playwright browsers (attempt $i)..."
264+ if npx playwright install --with-deps chromium; then
265+ break
266+ fi
267+ echo "Attempt $i failed. Retrying in 10 seconds..."
268+ sleep 10
269+ if [ $i -eq 3 ]; then
270+ echo "Failed to install Playwright browsers after 3 attempts."
271+ exit 1
272+ fi
273+ done
272274
273275 - name : Download OpenRAG image artifact
274276 uses : actions/download-artifact@v4
0 commit comments