Skip to content

Commit 962e72e

Browse files
committed
ci: integrate vLLM inference tests with GitHub Actions workflows
Add vLLM provider support to integration test CI workflows alongside existing Ollama support. Configure provider-specific test execution where vLLM runs only inference specific tests (excluding vision tests) while Ollama continues to run the full test suite. This enables comprehensive CI testing of both inference providers but keeps the vLLM footprint small, this can be expanded later if it proves to not be too disruptive. Signed-off-by: Derek Higgins <[email protected]>
1 parent 70f40f5 commit 962e72e

File tree

2 files changed

+9
-7
lines changed

2 files changed

+9
-7
lines changed

.github/actions/run-and-record-tests/action.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ runs:
5858
git add tests/integration/recordings/
5959
6060
if [ "${{ inputs.run-vision-tests }}" == "true" ]; then
61-
git commit -m "Recordings update from CI (vision)"
61+
git commit -m "Recordings update from CI (vision) (${{ inputs.provider }})"
6262
else
63-
git commit -m "Recordings update from CI"
63+
git commit -m "Recordings update from CI (${{ inputs.provider }})"
6464
fi
6565
6666
git fetch origin ${{ github.ref_name }}
@@ -76,7 +76,8 @@ runs:
7676
if: ${{ always() }}
7777
shell: bash
7878
run: |
79-
sudo docker logs ollama > ollama-${{ inputs.inference-mode }}.log || true
79+
sudo docker logs ollama > ollama-${{ inputs.inference-mode }}.log 2>&1 || true
80+
sudo docker logs vllm > vllm-${{ inputs.inference-mode }}.log 2>&1 || true
8081
8182
- name: Upload logs
8283
if: ${{ always() }}

.github/workflows/integration-tests.yml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ on:
2020
schedule:
2121
# If changing the cron schedule, update the provider in the test-matrix job
2222
- cron: '0 0 * * *' # (test latest client) Daily at 12 AM UTC
23-
- cron: '1 0 * * 0' # (test vllm) Weekly on Sunday at 1 AM UTC
2423
workflow_dispatch:
2524
inputs:
2625
test-all-client-versions:
@@ -46,7 +45,6 @@ concurrency:
4645
cancel-in-progress: true
4746

4847
jobs:
49-
5048
run-replay-mode-tests:
5149
runs-on: ubuntu-latest
5250
name: ${{ format('Integration Tests ({0}, {1}, {2}, client={3}, vision={4})', matrix.client-type, matrix.provider, matrix.python-version, matrix.client-version, matrix.run-vision-tests) }}
@@ -56,11 +54,14 @@ jobs:
5654
matrix:
5755
client-type: [library, server]
5856
# Use vllm on weekly schedule, otherwise use test-provider input (defaults to ollama)
59-
provider: ${{ (github.event.schedule == '1 0 * * 0') && fromJSON('["vllm"]') || fromJSON(format('["{0}"]', github.event.inputs.test-provider || 'ollama')) }}
57+
provider: [ollama, vllm]
6058
# Use Python 3.13 only on nightly schedule (daily latest client test), otherwise use 3.12
6159
python-version: ${{ github.event.schedule == '0 0 * * *' && fromJSON('["3.12", "3.13"]') || fromJSON('["3.12"]') }}
6260
client-version: ${{ (github.event.schedule == '0 0 * * *' || github.event.inputs.test-all-client-versions == 'true') && fromJSON('["published", "latest"]') || fromJSON('["latest"]') }}
6361
run-vision-tests: [true, false]
62+
exclude:
63+
- provider: vllm
64+
run-vision-tests: true
6465

6566
steps:
6667
- name: Checkout repository
@@ -79,7 +80,7 @@ jobs:
7980
uses: ./.github/actions/run-and-record-tests
8081
with:
8182
test-subdirs: ${{ inputs.test-subdirs }}
82-
test-pattern: ${{ inputs.test-pattern }}
83+
test-pattern: ${{ inputs.test-pattern }} # TODO: needs to be adjusted for vllm
8384
stack-config: ${{ matrix.client-type == 'library' && 'ci-tests' || 'server:ci-tests' }}
8485
provider: ${{ matrix.provider }}
8586
inference-mode: 'replay'

0 commit comments

Comments
 (0)