Commit Graph
11 Commits
Author SHA1 Message Date
Chinesezjc 2dd8b3eac3 fix(ci): harden the zero-build coverage assertion and list all skip suites
Strengthen the ci-workflow.spec.ts guard to match any 'pnpm run build'
spelling (corepack prefix, multi-line run blocks) instead of one exact
string, and complete the lib-consuming self-skip inventory with the
webworker-runtime transform-corpus import sweep alongside the packer
image assertions and the built-package check. Update the ci.yml comment
and the partitioned-coverage note (both languages) to match, and drop the
stale 'post-build' phase wording and the native-Windows build-wait
rationale from the coverage-exempt comment.
2026-08-31 12:00:05 +08:00
imccyu 8793cd477b test(webworker-runtime): keep the corpus gate as a Node import sweep 2026-08-26 12:35:05 +08:00
imccyu 6d9cc6ab96 test(webworker-runtime): drop coverage requirement and compile transform suites 2026-08-26 12:35:04 +08:00
imccyu 75428c7f47 perf(ci) 2026-08-26 12:35:04 +08:00
Magolor 0b5eba0c8d docs: rebuild the documentation skill and standards (#2983) 2026-08-25 23:47:20 +08:00
Chinesezjc 9bf6f4b43c perf(ci): move the transform corpus out of coverage partitions
The full-corpus transform gate spawns one child that transforms and imports
every built bundle, so it runs for 8-25 minutes as a single case and
dominates one native Windows coverage partition, blowing its 900s budget
under load. Move it to the coverage-exempt heavy gate, which runs it with
its own worker budget instead of competing with the instrumented
partitions. The package's src is threshold-excluded in vitest.config.ts, so
the exemption carries no coverage; the exempt-heavy roster note records the
entry.
2026-08-25 22:11:11 +08:00
Chinesezjc cd6941d5d7 Revert "perf(ci): shorten native Windows coverage critical path" 2026-08-24 14:39:56 +08:00
Tianyi Cui 4edf6400ff perf(ci): isolate the transform corpus from coverage 2026-08-22 20:10:54 +08:00
Tianyi Cui d322206246 fix(ci): stabilize latest-master acceptance gates 2026-08-12 19:41:06 +08:00
Turtle a27efdef36 docs: make technical prose concrete 2026-08-10 16:34:20 +08:00
imccyu e9ed7193d8 ci: run coverage-exempt heavy suites uninstrumented in parallel
The coverage lane's wall clock was pinned by a few compiler- and
subprocess-bound suites whose v8 instrumentation tax is a multiple of
their runtime while contributing nothing the per-file thresholds need:
typert generator fixtures (whole-workspace compiler analysis; its src is
threshold-excluded) and three scripts/ child-process fixture suites
(scripts/ sources are never coverage-measured; in-process imports are
covered by their owning package tests).

Split ci-coverage into two parallel gates: the instrumented run sets
DSH_COVERAGE_EXEMPT_HEAVY=1 and vitest.config.ts drops the exempt suites
from both projects (CLI --exclude cannot reach per-project include
resolution); a second uninstrumented gate runs exactly those suites, so
the aggregate still executes every test. Membership contract and the
filter/exclude pairs live in scripts/coverage-exempt.ts.

Local 6-worker A/B: instrumented gate 900s -> 260s wall; exempt gate
262s wall runs beside it, so the lane converges near the slower of the
two (~4.4min vs ~7min single-gate). DSH_GATE_CONCURRENCY now has two
schedulable gates in this lane.
2026-07-31 02:55:37 +08:00