TST: restore --parallel-threads in free-threaded jobs (lost in #476) - #587
Merged
neutrinoceros merged 1 commit intoSep 15, 2026
Merged
Conversation
neutrinoceros
approved these changes
Sep 15, 2026
neutrinoceros
left a comment
Collaborator
There was a problem hiding this comment.
excellent. I don't think we intended CI to only run on a single thread, so I'm aproving now, though I would also like @rgommers' opinion here because I've seen this strategy used deliberately in at least one other package (were multi-threaded runs are only run locally).
Collaborator
|
I don't remember dropping it on purpose, and PR description and commit messages don't mention it, so this should be safe to restore. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Since the #476 CI refactor (May 2025), the free-threaded legs have run every test single-threaded. #564 restored the
pytest-run-parallelinstall via theconcurrencydependency group, but the plugin's--parallel-threadsoption defaults to1, so installing it alone doesn't engage it — everytleg on master logs:(e.g.
test-pyversions (3.13t)in run 31304272710, 2026-08-09; the plugin's summary section is suppressed at 1 worker, so that collection line is the only log telltale.)#468 originally wired this up as
PYTEST_ADDOPTS=--parallel-threads=4; the #476 composite-action refactor dropped that line, two days before v1.5.0 shipped the first free-threaded wheels — so thread-parallel coverage has been off for the whole period t wheels have been on PyPI.This PR restores the flag on the pytest step, using the same
case()conditional #564 used for the install. Verified on my fork with the matrix trimmed to the Linuxtlegs:Collected 0 items to run in parallel, 202 passed on both legs — run ACollected 200 items to run in parallelon 3.14t,121on 3.13t ("81 tests were not run in parallel because of use of thread-unsafe functionality"), 202 passed on both — run BPossibly useful context for #574: the flakiness there was observed under fully single-threaded runs.
I found this while auditing CI logs with Claude's help; I verified the #468 → #476 → #564 chain and ran the fork reproductions myself.