Skip to content

wip: nothing to see here - #66433

Open
panva wants to merge 10 commits into
nodejs:mainfrom
panva:default-parallel
Open

panva wants to merge 10 commits into
nodejs:mainfrom
panva:default-parallel

Conversation

@panva

@panva panva commented Oct 1, 2026

Copy link
Copy Markdown
Member

just a PR that pings noone for running GHA, move along.

@panva panva added the wip Issues and PRs that are still a work in progress. label Oct 1, 2026
@panva
panva force-pushed the default-parallel branch from 8e23683 to 90520f7 Compare October 1, 2026 12:05
panva added 5 commits October 1, 2026 14:38
Make serial execution an explicit suite choice. Run sequential tests with
the normal worker count while allowing only one test per filename
subsystem, retaining ownership through retries and releasing it on shutdown.

Finish parallel tests before serial suites and subsystem-concurrent tests.
Preserve the existing scheduling safeguards for abort, wasm, WPT and SEA.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Assisted-by: Codex
Use the resolved test runner worker count instead of the host CPU count
when checking space for concurrent executable copies. Retain the serial
fallback when the executable is missing or free space is insufficient.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Assisted-by: Codex
Set core limits in a launcher process that execs the test command instead
of using preexec_fn in the threaded runner. Preserve process identity,
timeouts and exit status, then allow the abort suite to run in parallel.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Assisted-by: Codex
Apply Linux RLIMIT_AS and core limits in the test launcher, preserving the
existing soft and hard bounds without preexec_fn. Allow wasm-allocation
tests to run concurrently while retaining their platform-specific skips.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Assisted-by: Codex
Use OS-assigned listening ports for benchmark smoke tests and route
clients to the bound addresses. Keep the existing port defaults for
performance runs and let benchmark categories run in parallel.

Select one valid compose smoke configuration to satisfy the existing
single-configuration assertion.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Assisted-by: Codex
@panva
panva force-pushed the default-parallel branch from 90520f7 to d9d4f46 Compare October 1, 2026 12:42
panva added 2 commits October 1, 2026 15:06
Bind UDP senders to OS-assigned ports and distribute those ports to child
listeners over IPC. Reserve each Windows multicast port for its test and
use an ephemeral inspector port, then run the internet suite in parallel.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Assisted-by: Codex
Separate managed-process scheduling from standalone worker concurrency.
Allow web-locks and webstorage groups to overlap because each process has
its own LockManager and storage directory. Keep standalone workers and
timing-sensitive timer groups serial.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Assisted-by: Codex
@panva
panva force-pushed the default-parallel branch from d9d4f46 to 0cda872 Compare October 1, 2026 13:08
panva added 3 commits October 1, 2026 15:38
Malformed bytes in stdout or stderr currently raise UnicodeDecodeError
and stop the test runner. Decode with replacement characters so the
runner can report the test's exit status and diagnostics.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Assisted-by: Codex
The pipe subsystem can overlap with other tests using common.PORT.
Let the OS select both listening ports and connect clients to the bound
addresses, preserving the existing transfer assertions.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Assisted-by: Codex
Sequential workers share common.PORT even when different subsystems
overlap. Assign 100-port ranges through NODE_COMMON_PORT, keeping the
same range through retries and preserving the -j1 environment. Report
the assigned base on failure and reject configurations that exceed the
port range.

Signed-off-by: Filip Skokan <panva.ip@gmail.com>
Assisted-by: Codex
@codecov

codecov Bot commented Oct 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 90.37%. Comparing base (cede7e6) to head (ecc5e92).
⚠️ Report is 5 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main   #66433      +/-   ##
==========================================
- Coverage   90.39%   90.37%   -0.02%     
==========================================
  Files         792      792              
  Lines      275697   275723      +26     
  Branches    52868    52868              
==========================================
- Hits       249208   249189      -19     
- Misses      16892    16943      +51     
+ Partials     9597     9591       -6     

see 37 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@panva

panva commented Oct 1, 2026

Copy link
Copy Markdown
Member Author
GHA Configuration Baseline median Latest Saved
Linux coverage, arm64 79m50s 69m06s 10m45s · 13.5%
Linux arm64 20m02s 17m16s 2m46s · 13.8%
Linux x64 26m02s 23m05s 2m57s · 11.3%
Shared OpenSSL 3.5.8, arm64 15m52s 13m27s 2m25s · 15.2%
Shared OpenSSL FIPS, arm64 20m47s 17m53s 2m54s · 13.9%
Windows coverage 21m05s 20m09s 56s · 4.4%

These measure test-runner time, excluding builds and coverage reporting. Ordinary Linux includes both standard and unusual-directory test runs. Baselines comprise five matching runs for Linux, two for shared libraries, and three for Windows.

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

Labels

wip Issues and PRs that are still a work in progress.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant