Skip to content

perf(ci): parallelize the clean-state suite too - #46

Merged
ManSio merged 1 commit into
mainfrom
perf/ci-clean-state-parallel
Sep 26, 2026
Merged

ManSio merged 1 commit into
mainfrom
perf/ci-clean-state-parallel

Conversation

@ManSio

@ManSio ManSio commented Sep 26, 2026

Copy link
Copy Markdown
Owner

What

clean-state was the last long CI job (~13m25s) after the test job dropped to ~2m with pytest-xdist. It now runs the same suite with -n auto.

Why this is safe (no quality loss)

  • Identical test selection: clean-state passes no file list and pyproject addopts keep -m 'not slow and not benchmark' (98 deselected) — exactly the set the test job runs, which already passed in parallel on ubuntu+windows.
  • All gates unchanged: fresh venv, lockfile-drift gate (+ its negative control), negative-controls inventory, revision gate.
  • The whole point of clean-state (fresh environment, no file list so an ImportError in an unrelated file can't hide) is preserved.

Measurement

Local (12 cores): serial 197s -> -n auto 71s; same 1865 passed / 0 failed. CI runners have 4 cores; the job should land around ~4m (tests ~2m + venv/install/gates).

Trade-off (stated honestly)

clean-state no longer provides an independent serial full-suite run. Parallel safety is already asserted by the test job on both OSes.

clean-state was the last long CI job (~13m) after the test job dropped to
~2m with pytest-xdist. Its test selection is identical to the test job:
no file list, and pyproject addopts keep `-m 'not slow and not benchmark'`
(98 deselected). The same parallel run already passed on ubuntu+windows,
so parallel safety is proven; locally it is 197s -> 71s (12 cores).

The fresh venv, lockfile-drift gate (+ its negative control), the
negative-controls inventory and the revision gate are all unchanged.
@coderabbitai

coderabbitai Bot commented Sep 26, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Advanced

Run ID: 92e01f9d-5a17-4e67-a846-2872200b1b86


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ManSio
ManSio merged commit f6c33db into main Sep 26, 2026
12 of 13 checks passed
@ManSio
ManSio deleted the perf/ci-clean-state-parallel branch September 26, 2026 08:33
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