split-tests now buckets spec/*.spec.ts and spec/serial/*.spec.ts as two
independent sets (each sorted by test count, round-robined) so every shard
gets a proportional slice of both. run.js already routes spec/serial/* to
the --no-file-parallelism phase, so within a shard serial files still run
one-at-a-time. This also fixes the serial phase never running on CI — it
was skipped because split-tests only emitted parallel positionals.
* build: use runuser for electron spec runner
* chown
* run tests in priv
* fixed
* build: setup testing on arm for GHA
* no build-tools for test
* start xvfb for the right user
* no more gn-build-type
* debug env
* ue xvfb-run
* use 8 core for node tests
* build: do test sharding on linux
* fix: disable hung node test
* build: index splits are hard
* build: use --init to reap children
* allow write junit
* use custom xvfb wrapper
* pipefail
* dont kill xvfb, its already dead
---------
Co-authored-by: John Kleinschmidt <jkleinsc@electronjs.org>