Speed up local verification and shard platform CI - #312
Merged
Merged
Conversation
This was referenced Oct 4, 2026
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
PR #309 merged while this work was being prepared. This follow-up keeps its requested feature branch and targets dev; it changes development verification and CI only.
Replace four complete OS/Node suite executions with two complete Node 26 platform suites, each split across two deterministic weighted file shards. Keep suggestion ranking isolated, add an explicit Ubuntu Node 22 runtime/startup/shell compatibility gate, and keep required status aliases reliable for documentation-only PRs. Move Fedora portability and platform timing smoke to dev/master pushes and manual dispatch.
Add verify:fast, verify and verify:release. Build checks source TypeScript once per aggregate. Bound local file-worker fan-out to four while retaining lower runner defaults and explicit overrides. Integration jobs retain process-leak checks, including after failures. No test assertions or budgets were weakened, no existing tests were deleted, and no application source or package version changed.
Validation
Observed Actions timings
All new runs verified commit 604e5f2.
Baseline PR, optimized PR, comprehensive manual run.
PR shard test steps: macOS 105s / 77s; Ubuntu 92s / 70s. Entire shard jobs: macOS 127s / 100s; Ubuntu 121s / 103s. Node 22 smoke itself took 8s (45s entire job): 47 passes, zero failures, one existing macOS-only window-integration skip. Real zsh, Fish and Bash lifecycle tests executed. Quality took 27s.
The comprehensive dispatch passed Fedora (49s), timing smoke on macOS (41s) and Ubuntu (42s), both complete Node 26 platform suites, and Node 22 compatibility. Slowest job was Ubuntu shard 1 (182s); in the PR run it took 121s. This is a manual measurement of the same comprehensive job topology used for dev pushes, not a claim that this commit was pushed to dev. Runner variance remains material. The ordinary PR target of roughly 2–3 minutes was achieved on this run without further micro-optimization.
Coverage tradeoff: Node 22 now has curated runtime coverage on Ubuntu instead of repeating every long integration scenario on both platforms. All existing canonical files remain fully exercised on both platforms under Node 26. Benchmarks and Fedora remain mandatory on dev/master/manual comprehensive runs. Exact-release dispatch must be green on the release commit before tagging; ordinary PR CI does not provide Fedora or timing release evidence. No release or physical terminal validation was performed. The workflow preserves the required Verify (22.x) / Verify (26.x) check names and always-present aggregate status for documentation-only PRs.