strategy:
matrix:
sanitizer: [ADDRESS, THREAD, UNDEFINED]
- build_type: [Debug, Release]
+ build_type: [Debug]
include:
- build_type: Release
sanitizer: ""
- exclude:
- - build_type: Release
- sanitizer: ADDRESS
- - build_type: Release
+ - build_type: Debug
sanitizer: THREAD
- - build_type: Release
- sanitizer: UNDEFINED
+ disabled_on_pr: true
+ fail-fast: false # While -DLLAMA_SANITIZE_THREAD=ON is broken
container:
image: ubuntu:latest
- name: Tests
id: server_integration_tests
+ if: ${{ !matrix.disabled_on_pr || !github.event.pull_request }}
run: |
cd examples/server/tests
PORT=8888 ./tests.sh
- name: Slow tests
id: server_integration_tests_slow
- if: ${{ github.event.schedule != '' && matrix.build_type == 'Release' || github.event.inputs.slow_tests == 'true' }}
+ if: ${{ (github.event.schedule || github.event.inputs.slow_tests == 'true') && matrix.build_type == 'Release' }}
run: |
cd examples/server/tests
PORT=8888 ./tests.sh --stop --no-skipped --no-capture --tags slow
- name: Tests
id: server_integration_tests
+ if: ${{ !matrix.disabled_on_pr || !github.event.pull_request }}
run: |
cd examples/server/tests
behave.exe --summary --stop --no-capture --exclude 'issues|wrong_usages|passkey' --tags llama.cpp
- name: Slow tests
id: server_integration_tests_slow
- if: ${{ github.event.schedule != '' || github.event.inputs.slow_tests == 'true' }}
+ if: ${{ (github.event.schedule || github.event.inputs.slow_tests == 'true') && matrix.build_type == 'Release' }}
run: |
cd examples/server/tests
behave.exe --stop --no-skipped --no-capture --tags slow
def step_start_server(context):
start_server_background(context)
attempts = 0
+ max_attempts = 20
+ if 'GITHUB_ACTIONS' in os.environ:
+ max_attempts *= 2
+
while True:
with closing(socket.socket(socket.AF_INET, socket.SOCK_STREAM)) as sock:
result = sock.connect_ex((context.server_fqdn, context.server_port))
print("\x1b[33;46mserver started!\x1b[0m")
return
attempts += 1
- if attempts > 20:
+ if attempts > max_attempts:
assert False, "server not started"
print(f"waiting for server to start, connect error code = {result}...")
time.sleep(0.1)
print(f"Starting checking for health for expected_health_status={expected_health_status}\n")
interval = 0.5
counter = 0
+ if 'GITHUB_ACTIONS' in os.environ:
+ timeout *= 2
+
async with aiohttp.ClientSession() as session:
while True:
async with await session.get(f'{base_url}/health', params=params) as health_response: