Skip to content

Speed up local verification and shard platform CI - #312

Merged
raiseCatError merged 1 commit into
devfrom
feature/v017-compatibility-discovery
Oct 4, 2026
Merged

raiseCatError merged 1 commit into
devfrom
feature/v017-compatibility-discovery

Conversation

@raiseCatError

@raiseCatError raiseCatError commented Oct 4, 2026 •

Copy link
Copy Markdown
Owner

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

  • verify:fast: passed, 63 tests, 2.1s.
  • verify: passed; verify:release also passed its full nested canonical gate, benchmark-script typecheck and bounded timing smoke (169s).
  • Full canonical suite: 1,514 tests, zero skips.
  • Shards: 814 + 700 passing tests; 105 + 101 files, exact union of all 206 canonical files and zero overlap. Final local wall times 52.2s and 79.9s at four workers.
  • Node 22 curated list passed on local Node 26 in 33.9s; actual minimum-runtime validation runs in CI.
  • actionlint, YAML/shell syntax, docs-only modification/deletion/rename checks, aggregate failure/skip checks, git diff --check and process-leak checks passed.
  • Higher local fan-out exposed intermittent unchanged timing-sensitive assertions; focused reruns and bounded-worker final validation passed without assertion changes.

Observed Actions timings

All new runs verified commit 604e5f2.

Measurement Before After
PR workflow duration about 5m09s 2m42s
Full-suite equivalents per code PR 4 2 (one per platform, sharded)
Comprehensive dev-equivalent workflow v0.16 dev push: about 5m02s manual dispatch: 3m31s

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.

@raiseCatError
raiseCatError merged commit e15f195 into dev Oct 4, 2026
25 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant