[CI][RL] Consolidate RL entrypoint tests under tests/entrypoints/rl (#59948)
Signed-off-by: wang.yuqi <yuqi.wang@daocloud.io> Signed-off-by: aoshen02 <aoshen@inferact.ai> Co-authored-by: wang.yuqi <yuqi.wang@daocloud.io> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
wang.yuqi
Claude Opus 5.5
parent
bc8dd4ad27
commit
42ecc8eebe
@@ -19,14 +19,14 @@ steps:
|
||||
source_file_dependencies:
|
||||
- vllm/entrypoints
|
||||
- tests/entrypoints/unit_tests
|
||||
- tests/entrypoints/weight_transfer
|
||||
- tests/entrypoints/rl/weight_transfer
|
||||
- tests/entrypoints/launchers
|
||||
commands:
|
||||
- >-
|
||||
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
|
||||
'cd tests &&
|
||||
pytest -v -s entrypoints/unit_tests &&
|
||||
pytest -v -s entrypoints/weight_transfer'
|
||||
pytest -v -s entrypoints/rl/weight_transfer'
|
||||
|
||||
- label: ":intel: (BMG) Entrypoints Integration (LLM)"
|
||||
key: entrypoints-integration-llm-intel
|
||||
@@ -71,14 +71,17 @@ steps:
|
||||
- vllm/
|
||||
- "!vllm/distributed/kv_transfer/"
|
||||
- tests/entrypoints/serve
|
||||
- tests/entrypoints/rl
|
||||
commands:
|
||||
- >-
|
||||
bash .buildkite/scripts/hardware_ci/run-intel-test.sh
|
||||
'export VLLM_WORKER_MULTIPROC_METHOD=spawn &&
|
||||
cd tests &&
|
||||
pytest -v -s entrypoints/serve --ignore=entrypoints/serve/dev/rpc
|
||||
--ignore=entrypoints/serve/dev/rlhf/test_weight_operation_metrics.py
|
||||
--deselect="tests/entrypoints/serve/dev/rlhf/state_transitions/test_pause_resume.py::TestPauseResume::test_clear_cache_preserves_output_and_controls_prefix_cache[MRV1]" &&
|
||||
pytest -v -s entrypoints/serve --ignore=entrypoints/serve/dev/rpc &&
|
||||
pytest -v -s entrypoints/rl --ignore=entrypoints/rl/weight_transfer
|
||||
--ignore=entrypoints/rl/return_routed_experts/test_openai_api.py
|
||||
--ignore=entrypoints/rl/test_weight_operation_metrics.py
|
||||
--deselect="tests/entrypoints/rl/state_transitions/test_pause_resume.py::TestPauseResume::test_clear_cache_preserves_output_and_controls_prefix_cache[MRV1]" &&
|
||||
PYTHONPATH=/workspace/vllm pytest -v -s entrypoints/serve/dev/rpc'
|
||||
|
||||
- label: ":intel: (BMG) Entrypoints Integration (API Server Scale Out)"
|
||||
|
||||
@@ -1044,12 +1044,12 @@ steps:
|
||||
source_file_dependencies:
|
||||
- vllm/entrypoints
|
||||
- tests/entrypoints/unit_tests
|
||||
- tests/entrypoints/weight_transfer
|
||||
- tests/entrypoints/rl/weight_transfer
|
||||
- tests/entrypoints/launchers
|
||||
- vllm/platforms/rocm.py
|
||||
commands:
|
||||
- pytest -v -s entrypoints/unit_tests
|
||||
- pytest -v -s entrypoints/weight_transfer
|
||||
- pytest -v -s entrypoints/rl/weight_transfer
|
||||
- pytest -v -s entrypoints/launchers
|
||||
|
||||
- label: ":amd: (MI300) Entrypoints Integration (Responses API)" # TBD
|
||||
@@ -3746,11 +3746,13 @@ steps:
|
||||
- vllm/
|
||||
- tests/entrypoints/serve
|
||||
- tests/entrypoints/scale_out
|
||||
- tests/entrypoints/rl
|
||||
commands:
|
||||
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
|
||||
- pytest -v -s entrypoints/serve --ignore=entrypoints/serve/dev/rpc --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
|
||||
- if [ "$$BUILDKITE_PARALLEL_JOB" = "1" ]; then PYTHONPATH=/vllm-workspace pytest -v -s entrypoints/serve/dev/rpc; fi
|
||||
- pytest -v -s entrypoints/scale_out --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
|
||||
- pytest -v -s entrypoints/rl --ignore=entrypoints/rl/weight_transfer --num-shards=$$BUILDKITE_PARALLEL_JOB_COUNT --shard-id=$$BUILDKITE_PARALLEL_JOB
|
||||
|
||||
- label: ":amd: (MI355 DPX) Entrypoints Integration (OpenAI API completion)" # TBD
|
||||
timeout_in_minutes: 65
|
||||
|
||||
@@ -31,11 +31,9 @@ steps:
|
||||
source_file_dependencies:
|
||||
- vllm/entrypoints
|
||||
- tests/entrypoints/unit_tests
|
||||
- tests/entrypoints/weight_transfer
|
||||
- tests/entrypoints/launchers
|
||||
commands:
|
||||
- pytest -v -s entrypoints/unit_tests
|
||||
- pytest -v -s entrypoints/weight_transfer
|
||||
- pytest -v -s entrypoints/launchers
|
||||
mirror:
|
||||
amd:
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
group: RL
|
||||
depends_on:
|
||||
- image-build
|
||||
steps:
|
||||
- label: ":nvidia: (H200 MIG 35GB) RL Entrypoints"
|
||||
device: h200_35gb
|
||||
key: rl-entrypoints-tests
|
||||
timeout_in_minutes: 40
|
||||
working_dir: "/vllm-workspace/tests"
|
||||
source_file_dependencies:
|
||||
- vllm/
|
||||
- "!vllm/distributed/kv_transfer/"
|
||||
- tests/entrypoints/rl
|
||||
commands:
|
||||
- pytest -v -s entrypoints/rl/weight_transfer
|
||||
- export VLLM_WORKER_MULTIPROC_METHOD=spawn
|
||||
- pytest -v -s entrypoints/rl --ignore=entrypoints/rl/weight_transfer
|
||||
mirror:
|
||||
amd:
|
||||
label: ":amd: (MI355 DPX) RL Entrypoints"
|
||||
dind: false
|
||||
device: mi355_dpx
|
||||
timeout_in_minutes: 50
|
||||
depends_on:
|
||||
- image-build-amd
|
||||
@@ -82,7 +82,6 @@ steps:
|
||||
- tests/entrypoints/scale_out/token_in_token_out/test_serving_tokens.py
|
||||
- tests/entrypoints/serve/instrumentator/test_basic.py
|
||||
- tests/entrypoints/serve/instrumentator/test_metrics.py
|
||||
# - tests/entrypoints/serve/dev/test_sleep.py
|
||||
- tests/entrypoints/serve/tokenize/test_tokenization.py
|
||||
commands:
|
||||
- export VLLM_USE_RUST_FRONTEND=1
|
||||
@@ -93,7 +92,6 @@ steps:
|
||||
# test_generate_logprobs expects Python-style top_logprobs truncation (dedup sampled + cap at max(k, 1)).
|
||||
- pytest -v -s entrypoints/scale_out/token_in_token_out/test_serving_tokens.py -k "not stream and not lora and not test_generate_logprobs and not stop_string_workflow"
|
||||
- pytest -v -s entrypoints/serve/instrumentator/test_metrics.py -k "text and not show and not run_batch and not test_metrics_counts and not test_metrics_exist"
|
||||
# - pytest -v -s entrypoints/serve/dev/test_sleep.py
|
||||
# /tokenizer_info is not implemented in the Rust frontend (the CLI flag is accepted as a no-op).
|
||||
- pytest -v -s entrypoints/serve/tokenize/test_tokenization.py -k "not tokenizer_info"
|
||||
mirror:
|
||||
|
||||
+1
-2
@@ -231,8 +231,7 @@ mkdocs.yaml @hmellor
|
||||
/vllm/distributed/weight_transfer @aoshen02
|
||||
/vllm/entrypoints/serve/dev/rlhf @njhill @aoshen02
|
||||
/tests/distributed/test_weight_transfer.py @aoshen02
|
||||
/tests/entrypoints/weight_transfer @DarkLight1337 @robertgshaw2-redhat @aarnphm @NickLucche @AndreasKaratzas @aoshen02
|
||||
/tests/entrypoints/serve/dev/rlhf @DarkLight1337 @robertgshaw2-redhat @aarnphm @NickLucche @AndreasKaratzas @aoshen02
|
||||
/tests/entrypoints/rl @DarkLight1337 @robertgshaw2-redhat @njhill @aarnphm @NickLucche @AndreasKaratzas @aoshen02
|
||||
/tests/v1/worker/test_gpu_worker_weight_transfer.py @aoshen02
|
||||
/examples/rl @aoshen02
|
||||
/docs/training/rlhf.md @aoshen02
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@ import numpy as np
|
||||
import pybase64 as base64
|
||||
import pytest
|
||||
|
||||
from ...utils import RemoteOpenAIServer
|
||||
from tests.utils import RemoteOpenAIServer
|
||||
|
||||
MODEL_NAME = "TitanML/tiny-mixtral"
|
||||
|
||||
+1
-1
@@ -10,7 +10,7 @@ from unittest.mock import patch
|
||||
import pytest
|
||||
import requests
|
||||
|
||||
from tests.entrypoints.serve.dev.rlhf.conftest import (
|
||||
from tests.entrypoints.rl.conftest import (
|
||||
cached_tokens,
|
||||
completion_with_cache_details,
|
||||
gen,
|
||||
+1
-1
@@ -9,7 +9,7 @@ import requests
|
||||
import torch
|
||||
from transformers import AutoModelForCausalLM
|
||||
|
||||
from tests.entrypoints.serve.dev.rlhf.conftest import (
|
||||
from tests.entrypoints.rl.conftest import (
|
||||
MODEL_NAME,
|
||||
gen,
|
||||
health,
|
||||
+1
-1
@@ -7,7 +7,7 @@ import torch
|
||||
from prometheus_client.parser import text_string_to_metric_families
|
||||
from transformers import AutoModelForCausalLM
|
||||
|
||||
from tests.entrypoints.serve.dev.rlhf.conftest import MODEL_NAME
|
||||
from tests.entrypoints.rl.conftest import MODEL_NAME
|
||||
from tests.utils import RemoteOpenAIServer
|
||||
from vllm.distributed.weight_transfer import (
|
||||
HTTPVLLMWeightSyncClient,
|
||||
+1
-2
@@ -15,6 +15,7 @@ from unittest.mock import patch
|
||||
import pytest
|
||||
import torch
|
||||
|
||||
from tests.utils import create_new_process_for_each_test
|
||||
from vllm.config import WeightTransferConfig
|
||||
from vllm.distributed.weight_transfer.base import (
|
||||
WeightTransferEngine,
|
||||
@@ -24,8 +25,6 @@ from vllm.distributed.weight_transfer.base import (
|
||||
WeightTransferUpdateRequest,
|
||||
)
|
||||
|
||||
from ...utils import create_new_process_for_each_test
|
||||
|
||||
# Use a tiny model for fast testing
|
||||
MODEL_NAME = "hmellor/tiny-random-LlamaForCausalLM"
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
Mirrors test_serving_tokens.py but exercises the multimodal piping
|
||||
using Qwen/Qwen3-VL-2B-Instruct end-to-end via the server's /render ->
|
||||
/generate -> /detokenize path. Intentionally avoids running the HF
|
||||
processor in the pytest parent process to keep os.fork() in sibling
|
||||
tests (e.g. test_weight_transfer_llm.py) deadlock-free.
|
||||
processor in the pytest parent process to keep os.fork() in other
|
||||
tests (e.g. entrypoints/rl/weight_transfer/test_offline.py) deadlock-free.
|
||||
"""
|
||||
|
||||
import httpx
|
||||
|
||||
@@ -38,10 +38,10 @@ SILENT_GROUPS = [
|
||||
"tests/entrypoints/generate",
|
||||
"tests/entrypoints/multimodal",
|
||||
"tests/entrypoints/pooling",
|
||||
"tests/entrypoints/rl",
|
||||
"tests/entrypoints/serve",
|
||||
"tests/entrypoints/tool_parsers",
|
||||
"tests/entrypoints/unit_tests",
|
||||
"tests/entrypoints/weight_transfer",
|
||||
"tests/kernels/attention",
|
||||
"tests/kernels/core",
|
||||
"tests/kernels/helion",
|
||||
|
||||
Reference in New Issue
Block a user