Skip to content

ci: parallelize the suite by test file (see Consiliency/pmcp#383) - #399

Merged
ViperJuice merged 6 commits into
mainfrom
ci/383-pytest-xdist
Oct 14, 2026
Merged

ViperJuice merged 6 commits into
mainfrom
ci/383-pytest-xdist

Conversation

@ViperJuice

@ViperJuice ViperJuice commented Oct 14, 2026 •

Copy link
Copy Markdown
Collaborator

Run the full suite with pytest-xdist (-n auto --dist loadfile) so CI finishes within its existing 45-minute limit. Each test file stays on one worker. Worker processes retain their own environment, cwd, module state, temp roots, global resets and spawn-audit checks. The R22 guard still requires exactly one full-suite invocation with the same test selection and coverage floor. Local pytest remains sequential by default.

Add the dev dependency and lockfile entries, update the guarded command and contributor instructions, and bind the singleton-lock test socket relative to its temp directory to fit the AF_UNIX path limit. Cancellation tests require successful real group SIGKILL calls and completed child waits independently of asyncio's known 255 reaping fallback, tracked in #391. Performance tests retain their adversarial inputs and compare CPU cost for 4x input: a generous 8x growth ceiling tolerates runner variation while rejecting quadratic growth (16x).

Validation at 9fdad5b: all eight required GitHub checks pass; the test job took 12m35s. The full suite on ai passed with 13006 passed, 32 skipped and one expected failure in 162.29 seconds. All 17 keyword tests also pass with coverage and two workers; ruff check, format and diff checks pass. An in-memory restoration of the original backtracking regex is rejected by the scaling assertion (roughly 16x CPU growth for 4x input). The cancellation changes passed 98 targeted tests at ebb5cec; a forced exit-status-255 probe passed, and a leader-only kill mutant was rejected.

The earlier serial measurement on ai was 1323.34 seconds, compared with 162.29 seconds for this head with xdist. Coverage and the complete selected suite remain required.

#397 is merged. The package requirement remains >=3.10 until 3.1.0, per the owner decision in #390. See #383 and #398.

Cross-vendor panel round 3 passed at 9fdad5b with phase-loop 0.7.24: all four vendors delivered, final board usable, Opus 5.5 president AGREE, no blocking findings. The growth checks reject both the original keyword regex and original URL-tail loop. Remaining timing-test robustness work is tracked in #400; the runtime status race remains in #391. All eight required checks pass on the exact reviewed head.

🤖 Generated with Claude Code

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 14, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-14T21:37:56.366795Z 9fdad5b Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant