Add CPU pytest CI and NIXL P/D example - #403
Conversation
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
Ready for review. I started with the CPU-only pytest coverage from #395, then added a small preflight mode for the NIXL P/D smoke harness so reviewers can validate the script/configuration path on a non-GPU machine before running the full CUDA/vLLM test:
I kept the CI suite intentionally narrow to tests that are already mocked or pure-Python and do not require vLLM, SGLang, CUDA, or the C++ extension. Happy to split the NIXL P/D example/preflight work into a separate PR if that is easier to review. |
|
Thanks for taking on #395. I think this PR now needs to be split before further review. The current branch combines several independently reviewable and independently risky changes:
Those changes have different validation requirements and owners. Keeping them in one PR makes it difficult to determine what the CI change actually depends on and makes a future revert unnecessarily broad. Could you please keep this PR focused on the CPU test workflow, its runner, and only the minimal test-isolation fixes required by that workflow, and move the other changes into separate PRs? The existing pre-commit failure should also be resolved after the split. There is also a coverage-maintenance concern with the current fixed three-file list in For test classification, I suggest using execution boundaries as the primary mechanism, for example:
Then the hosted job can run only Pytest markers such as Once the PR is focused and the classification rule prevents silent omissions, this will provide a useful merge gate for the regression tests being added across the project. |
Summary
tools/run_cpu_tests.shexamples/10_vllm_nixl_pdtest_make_cache_key.pyindependent of real PyTorch/CUDA by mocking torch before importing kvcachedMotivation
The repository currently has lint/type-check CI but does not run the existing pytest coverage in CI. This PR starts with the tests that are intentionally isolated from GPU, vLLM, SGLang, and the C++ extension, so they can run on standard GitHub-hosted runners.
The NIXL P/D example also makes the existing smoke script easier to find and use while the roadmap continues to track P/D disaggregation compatibility work.
Validation
bash tools/run_cpu_tests.sh-> 56 passedbash -n tools/run_cpu_tests.shbash -n tools/run_vllm_nixl_pd_smoke.shgit diff --checkCloses #395