@@ -315,49 +315,43 @@ jobs:
315
315
316
316
# NOTE: Use pre-ping/null to reduce flakiness due to dropped connections
317
317
- name : Run Integration Tests for ${{ matrix.test-dir.name }}
318
- run : |
319
- echo "Running integration tests for ${{ matrix.test-dir.path }}..."
320
- docker run --rm --network onyx-stack_default \
321
- --name test-runner \
322
- -e POSTGRES_HOST=relational_db \
323
- -e POSTGRES_USER=postgres \
324
- -e POSTGRES_PASSWORD=password \
325
- -e POSTGRES_DB=postgres \
326
- -e DB_READONLY_USER=db_readonly_user \
327
- -e DB_READONLY_PASSWORD=password \
328
- -e POSTGRES_POOL_PRE_PING=true \
329
- -e POSTGRES_USE_NULL_POOL=true \
330
- -e VESPA_HOST=index \
331
- -e REDIS_HOST=cache \
332
- -e API_SERVER_HOST=api_server \
333
- -e OPENAI_API_KEY=${OPENAI_API_KEY} \
334
- -e SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN} \
335
- -e CONFLUENCE_TEST_SPACE_URL=${CONFLUENCE_TEST_SPACE_URL} \
336
- -e CONFLUENCE_USER_NAME=${CONFLUENCE_USER_NAME} \
337
- -e CONFLUENCE_ACCESS_TOKEN=${CONFLUENCE_ACCESS_TOKEN} \
338
- -e JIRA_BASE_URL=${JIRA_BASE_URL} \
339
- -e JIRA_USER_EMAIL=${JIRA_USER_EMAIL} \
340
- -e JIRA_API_TOKEN=${JIRA_API_TOKEN} \
341
- -e PERM_SYNC_SHAREPOINT_CLIENT_ID=${PERM_SYNC_SHAREPOINT_CLIENT_ID} \
342
- -e PERM_SYNC_SHAREPOINT_PRIVATE_KEY="${PERM_SYNC_SHAREPOINT_PRIVATE_KEY}" \
343
- -e PERM_SYNC_SHAREPOINT_CERTIFICATE_PASSWORD=${PERM_SYNC_SHAREPOINT_CERTIFICATE_PASSWORD} \
344
- -e PERM_SYNC_SHAREPOINT_DIRECTORY_ID=${PERM_SYNC_SHAREPOINT_DIRECTORY_ID} \
345
- -e TEST_WEB_HOSTNAME=test-runner \
346
- -e MOCK_CONNECTOR_SERVER_HOST=mock_connector_server \
347
- -e MOCK_CONNECTOR_SERVER_PORT=8001 \
348
- onyxdotapp/onyx-integration:test \
349
- /app/tests/integration/${{ matrix.test-dir.path }}
350
- continue-on-error : true
351
- id : run_tests
352
-
353
- - name : Check test results
354
- run : |
355
- if [ ${{ steps.run_tests.outcome }} == 'failure' ]; then
356
- echo "Integration tests failed. Exiting with error."
357
- exit 1
358
- else
359
- echo "All integration tests passed successfully."
360
- fi
318
+ uses : nick-fields/retry@v3
319
+ with :
320
+ timeout_minutes : 20
321
+ max_attempts : 3
322
+ retry_wait_seconds : 10
323
+ command : |
324
+ echo "Running integration tests for ${{ matrix.test-dir.path }}..."
325
+ docker run --rm --network onyx-stack_default \
326
+ --name test-runner \
327
+ -e POSTGRES_HOST=relational_db \
328
+ -e POSTGRES_USER=postgres \
329
+ -e POSTGRES_PASSWORD=password \
330
+ -e POSTGRES_DB=postgres \
331
+ -e DB_READONLY_USER=db_readonly_user \
332
+ -e DB_READONLY_PASSWORD=password \
333
+ -e POSTGRES_POOL_PRE_PING=true \
334
+ -e POSTGRES_USE_NULL_POOL=true \
335
+ -e VESPA_HOST=index \
336
+ -e REDIS_HOST=cache \
337
+ -e API_SERVER_HOST=api_server \
338
+ -e OPENAI_API_KEY=${OPENAI_API_KEY} \
339
+ -e SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN} \
340
+ -e CONFLUENCE_TEST_SPACE_URL=${CONFLUENCE_TEST_SPACE_URL} \
341
+ -e CONFLUENCE_USER_NAME=${CONFLUENCE_USER_NAME} \
342
+ -e CONFLUENCE_ACCESS_TOKEN=${CONFLUENCE_ACCESS_TOKEN} \
343
+ -e JIRA_BASE_URL=${JIRA_BASE_URL} \
344
+ -e JIRA_USER_EMAIL=${JIRA_USER_EMAIL} \
345
+ -e JIRA_API_TOKEN=${JIRA_API_TOKEN} \
346
+ -e PERM_SYNC_SHAREPOINT_CLIENT_ID=${PERM_SYNC_SHAREPOINT_CLIENT_ID} \
347
+ -e PERM_SYNC_SHAREPOINT_PRIVATE_KEY="${PERM_SYNC_SHAREPOINT_PRIVATE_KEY}" \
348
+ -e PERM_SYNC_SHAREPOINT_CERTIFICATE_PASSWORD=${PERM_SYNC_SHAREPOINT_CERTIFICATE_PASSWORD} \
349
+ -e PERM_SYNC_SHAREPOINT_DIRECTORY_ID=${PERM_SYNC_SHAREPOINT_DIRECTORY_ID} \
350
+ -e TEST_WEB_HOSTNAME=test-runner \
351
+ -e MOCK_CONNECTOR_SERVER_HOST=mock_connector_server \
352
+ -e MOCK_CONNECTOR_SERVER_PORT=8001 \
353
+ onyxdotapp/onyx-integration:test \
354
+ /app/tests/integration/${{ matrix.test-dir.path }}
361
355
362
356
# ------------------------------------------------------------
363
357
# Always gather logs BEFORE "down":
0 commit comments