Files
Johnathan Corgan 78956e869b Serialize only the node tests that need it under nextest
Every node::tests:: test ran in one one-at-a-time group, because the
synthetic-mesh tests once dropped one-shot UDP handshakes under load. The
default test node has since moved to the in-process loopback transport, so
most node tests touch no socket, yet the group still put about 13 minutes
of serialized tests on each GitHub unit-test job.

Split the group in two. node-synthetic now holds only the test modules
that open a real socket (a UDP, TCP, Ethernet or BLE transport, an OS
socket, or a node's start() or rx loop, which bind through its Config and
include the control socket's shared default path), directly or through a
helper. node-large holds the tests that take lock_large_network_test(), the
100-node tests, so they stay mutually exclusive across processes; its
override comes first in both profiles so the 100-node session test, which
sits in a socket module, lands there.

The filters are anchored and package-scoped. The old substring filter also
caught fifteen config::node::tests:: tests. The module list is the union
of what maint, master and next need, so the file merges up unchanged; a
name a branch lacks matches nothing there.

Pin every install step to nextest 0.9.143 and require at least that version
in the config, so the filters are parsed the same way on every runner and a
local host with an older nextest fails loudly. 0.9.143 is the newest release
the pinned install-action carries, so no runner falls back to cargo-binstall.
2026-10-21 16:58:16 +00:00
..