@@ -38,27 +38,7 @@ concurrency:
3838 cancel-in-progress : true
3939
4040jobs :
41- discover-tests :
42- runs-on : ubuntu-latest
43- outputs :
44- test-types : ${{ steps.generate-test-types.outputs.test-types }}
45-
46- steps :
47- - name : Checkout repository
48- uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
49-
50- - name : Generate test types
51- id : generate-test-types
52- run : |
53- # Get test directories dynamically, excluding non-test directories
54- # NOTE: we are excluding post_training since the tests take too long
55- TEST_TYPES=$(find tests/integration -maxdepth 1 -mindepth 1 -type d -printf "%f\n" |
56- grep -Ev "^(__pycache__|fixtures|test_cases|recordings|non_ci|post_training)$" |
57- sort | jq -R -s -c 'split("\n")[:-1]')
58- echo "test-types=$TEST_TYPES" >> $GITHUB_OUTPUT
59-
6041 run-replay-mode-tests :
61- needs : discover-tests
6242 runs-on : ubuntu-latest
6343 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) }}
6444
7252 python-version : ${{ github.event.schedule == '0 0 * * *' && fromJSON('["3.12", "3.13"]') || fromJSON('["3.12"]') }}
7353 client-version : ${{ (github.event.schedule == '0 0 * * *' || github.event.inputs.test-all-client-versions == 'true') && fromJSON('["published", "latest"]') || fromJSON('["latest"]') }}
7454 run-vision-tests : [true, false]
55+ exclude :
56+ - provider : vllm
57+ run-vision-tests : true
7558
7659 steps :
7760 - name : Checkout repository
@@ -86,10 +69,26 @@ jobs:
8669 run-vision-tests : ${{ matrix.run-vision-tests }}
8770 inference-mode : ' replay'
8871
72+ - name : Generate test types
73+ id : generate-test-types
74+ run : |
75+ # Only run inference tests for vllm as these are more likely to exercise the vllm provider
76+ # TODO: Add agent tests for vllm
77+ if [ ${{ matrix.provider }} == "vllm" ]; then
78+ echo "test-types=[\"inference\"]" >> $GITHUB_OUTPUT
79+ exit 0
80+ fi
81+ # Get test directories dynamically, excluding non-test directories
82+ # NOTE: we are excluding post_training since the tests take too long
83+ TEST_TYPES=$(find tests/integration -maxdepth 1 -mindepth 1 -type d -printf "%f\n" |
84+ grep -Ev "^(__pycache__|fixtures|test_cases|recordings|non_ci|post_training)$" |
85+ sort | jq -R -s -c 'split("\n")[:-1]')
86+ echo "test-types=$TEST_TYPES" >> $GITHUB_OUTPUT
87+
8988 - name : Run tests
9089 uses : ./.github/actions/run-and-record-tests
9190 with :
92- test-types : ${{ needs.discover-tests .outputs.test-types }}
91+ test-types : ${{ steps.generate-test-types .outputs.test-types }}
9392 stack-config : ${{ matrix.client-type == 'library' && 'ci-tests' || 'server:ci-tests' }}
9493 provider : ${{ matrix.provider }}
9594 inference-mode : ' replay'
0 commit comments