perf(ci): overlap Sonar setup and balance Electron shards - #289
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository: CrimsonSoul/Relay/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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. Comment |
|



Slow final-main Sonar scans were being terminated at ten minutes, forcing a full retry. Give main analysis fifteen minutes within the unchanged eighteen-minute aggregate budget, and prepare the scanner alongside coverage. Analysis still requires successful unit coverage plus all four renderer shards from the exact run, attempt and head commit, or already-validated exact-tree LCOV provenance. Both PR and final-main Sonar gates remain required.
Balance the four Electron runners using measured test durations. Discover the complete current Playwright suite on every run; timing data only controls placement, with a default estimate for new or renamed tests. Shard lists are written only through the npm wrapper to its own temporary directory; the helper exposes no CLI output-path argument. All tests remain required through the existing ABI-restoring npm wrapper. Discovery runs after its canonical build because CSS contract specs import emitted assets.
Validation from a checkout with generated build outputs removed: typecheck, lint, format check, full test suite (7,587 passing tests; three existing Windows-only cases skipped on macOS), production build, diff check, dependency audit (zero vulnerabilities), focused workflow/coverage failure cases, and real Playwright selection checks covering multiple projects and skipped tests. The coverage wait also passed a read-only check against the previous GitHub main run and partial retry.
Electron validation:
npm run test:electron -- --fully-parallel --workers=1 --balanced-shard=1/1passed all 56 required tests; the existing optional screenshot harness was skipped. Native SQLite restoration also passed. Web and Windows packaging were not rerun locally for this Linux CI-only change; the live pipeline still requires both.The live timing test uses the existing exact-tree draft-only release mode, verifies assets, and removes the draft so the updater cannot consume it. No paid runner or security-rule changes.