Repository navigation
ci: balance macOS Electron smoke shards by measured duration - #9315
Merged
Merged
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
[Medium impact] The PR appears safe to merge; no actionable defects were found. SummaryThe macOS Electron smoke suite now assigns whole files to three runners using measured durations.
No actionable issues were found. Tests were not run during this review.
|
Contributor
There was a problem hiding this comment.
No issues found across 7 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Heads up: you’re close to your flex budget. Increase your flex budget so reviews don’t pause.
Turn on auto-fix | Re-trigger cubic
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The three macOS Electron smoke shards currently split files by test count, leaving one job idle while long files finish. This change assigns complete files by observed duration across the same three runners and keeps one worker per runner. Playwright still discovers the complete suite; unknown files receive a fallback weight, and weights never determine which tests exist.
The wrapper uploads the complete discovery report and shard plan alongside the normal results. Local runs, the weekly canary, packaging smoke, Linux integration providers, and test assertions remain unchanged.
Testing
Three paired hosted samples on identical app/test source, runners, and setup:
Median slowest job: 8m38s → 7m20s, a 78-second reduction. Job times include setup/cleanup and exclude queue time. These are three pairs, not a long-run percentile estimate. All 18 jobs passed on the first attempt with zero retry events. Each arm in every pair preserved the exact 111-case/status multiset: 96 passed and 15 existing skips. Same three free macOS runners per suite; no provider or runner-count change.
The final wrapper additionally selects Playwright's outer file suites, so tests declared by imported factories cannot be omitted. A real browser-free Playwright regression failed before that guard and passes after it, including a nested filename containing regex characters and an unmeasured
.test.tsfile. The final file-suite selection matches all nine benchmark discovery reports.Ten focused scheduling and CLI checks pass (3.3 seconds locally). Negative controls confirm that removing longest-first ordering, unknown-file inclusion, or the zero-duration floor causes failures. Actionlint, targeted Biome checks, and
git diff --checkpass. Heavy validation uses hosted runners.Final head
d718ac3e: full CI passed in 7m46s and macOS CI completed in 7m55s, both on the first attempt. Final smoke artifacts preserve all 111 cases with zero retries. Cubic and Greptile each returned 5/5 with no actionable findings; all review threads are resolved.