Repository navigation
[CI/Build] Fix CPU coverage collection with multiple workers - #9785
Conversation
Signed-off-by: Linze-Shi <linzeshi0@gmail.com>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits. |
yenuo26
left a comment
There was a problem hiding this comment.
Summary
Fixes the two nightly CPU-coverage xdist collection failures from #9784 / #9392: stable pytest IDs for the speech-shaped SHM key, and same-dir mkstemp + os.replace (+ finally cleanup) for CI overlay publication. Focused regression covers readers still seeing the previous complete YAML during rewrite and a complete published overlay with no leftover temps. Placement under tests/helpers/tests/ is correct; the final == _CI_OVERLAYS["bagel"] check is a publish integrity round-trip, not redundant config-literal pinning.
Blocking (P0)
None.
Blocking (P1)
None.
Non-blocking
test_shm_connector.py— please add a short comment above theids=["simple", "speech"]parametrize. The stable IDs are the load-bearing xdist invariant (workers must agree on node IDs while the speech key value stays intentionally random per process). Without that note, theids=look cosmetic and are easy to drop in a later cleanup. One or two lines is enough.
Signed-off-by: Linze-Shi <linzeshi0@gmail.com>
|
Thanks, added a comment in |
|
This PR was classified as CI work. Routing: @yenuo26 via CI owner, CODEOWNERS; @NickCao via CODEOWNERS @LinzeShi, please review your own changes and leave a short self-review comment describing what you checked. PRs without author self-review may not be assigned a reviewer. Please take a look when you have a chance. If you would like an automated review, mention @vllm-omni-review-bot in a comment. |
yenuo26
left a comment
There was a problem hiding this comment.
Summary
Tip-move re-check of ef62294bcd8a (from 8396d360678b). Delta is the short comment above ids=["simple", "speech"] explaining the xdist-stable node-ID invariant — addresses the prior Non-blocking ask. Overlay atomic publish (mkstemp/os.replace + finally cleanup) and tests/helpers/tests/test_ci_overlay.py regression unchanged.
No blocking P0/P1.
LGTM from a review standpoint — I am not approving from this account; please self-approve / wait for a human approve.
Omni ReviewBot triage noteAutomated triage of commit
These are automated triage suggestions only — the final decision belongs to the maintainers. |
|
Self-review: checked the stable IDs and atomic file replacement. The focused run passed 47 tests on four workers, and the regression fails with the old helper. The follow-up only adds the requested comment. @NickCao, could you take a final look? |
NickCao
left a comment
There was a problem hiding this comment.
Correct fix for the issue, ideally we should make every worker use their private copy of config dir, but that's a larger refactor.
…oject#9785) Signed-off-by: Linze-Shi <linzeshi0@gmail.com>
Contributor intent
1. What outcome do you want to achieve?
Remove two collection failures blocking the nightly CPU coverage job.
2. What is the highest-leverage variable for that outcome?
Consistent test IDs and complete generated configs across pytest workers.
3. How will this work move that variable?
Give the random SHM parameter stable IDs and publish CI overlays with an atomic file replacement.
4. Whose customer or user needs does this address, and what are those needs?
Contributors and CI maintainers need the parallel CPU suite to reach test execution and produce meaningful coverage.
Purpose
Fixes #9784.
Nightly build 18653 fails during collection after the switch to four workers in #9392.
Only tests and their config helper change. Runtime behavior, configuration values and user documentation are unchanged.
Test Plan
vLLM Version: 0.32.0; Python 3.12, PyTorch 2.13.0+cu130, pytest 9.1.1, pytest-xdist 3.8.0 and PyYAML 6.0.3. CPU tests only, with GPU visibility and network access disabled.
vLLM-Omni Commit: base
7afd00e982dfa93c365eee5475a5707904b181e6; fix8396d360678b4a691fbe6d9577803fdce6a51edd.With the repository test dependencies installed, run from its root:
Test Result
The full nightly suite and Buildkite job were not rerun; this validates the two reproduced collection failures, not the entire coverage job.
cc @yenuo26, this follows up on #9392.