Repository navigation
ci: run the CPU-only pytest suite in GitHub Actions - #428
rishabhsinha17 wants to merge 1 commit into
Conversation
The only existing workflow (pre-commit.yml) runs lint/format/mypy and the C++ unit tests, but none of the Python tests under tests/ run in CI. Add a workflow that installs CPU-only PyTorch and runs the subset of the pytest suite that needs neither a GPU nor the compiled vmm_ops extension (81 tests today), so regressions in the pure-Python paths are caught on every PR. Fixes ovg-project#395
7a67467 to
a308b2f
Compare
|
Thanks for working on this. #403 has now been merged and covers the same CPU-only pytest CI goal with exhaustive manifests and omission checks. Since this PR uses an explicit ignore list for the same issue, it appears to be superseded. Could you close this PR, unless there is a non-overlapping follow-up you would like to rebase into a focused change? |
|
Agreed, closing. I compared the two: #403's manifests are an allowlist with One non-overlapping remainder, now folded into #432 rather than here: |
Summary
Run the CPU-only pytest suite in GitHub Actions on every push and pull request.
Fixes #395.
Problem
The only existing workflow (
pre-commit.yml) runs lint/format/mypy and the C++ unit tests, but none of the Python tests undertests/run in CI, so regressions in the pure-Python paths are only caught when someone runs the right test by hand.Changes
.github/workflows/python-tests.yml: installs CPU-only PyTorch (--index-url https://download.pytorch.org/whl/cpu) plusrequirements.txtand the test-only deps (pyyaml,numpy,aiohttp), with pip cachingpytest tests/with an explicit, commented ignore list for what cannot run on a CPU runner:test_ElasticMLAMemoryPool,test_kvcache_manager,test_offline_serving,test_paged_allocator_aliasing,test_alloc_kv_cache_alignment,test_hybrid_contiguous_layout,test_ipc_timeout— import or exercise the compiledkvcached.vmm_opsextension, whose build requires a CUDA/ROCm PyTorch (setup.pyraises on CPU-only builds)test_sleep_manager— async tests that expect running vLLM/SGLang server endpointsEverything else runs, including the
/dev/shm-backedtest_shm_info_trackertests, which are Linux-only and cannot run on macOS dev machines at all.Validation
Verified on an actual
ubuntu-latestrunner via my fork before opening this PR: green run —81 passed, 1 skipped.Possible follow-ups: split the
vmm_ops-dependent files so their pure-Python tests also run in CI, and add a GPU-runner job for the rest.Related: #403 proposes a manifest-based classification approach to the same issue; this PR is the minimal single-workflow variant.