Commit Graph
187 Commits
Author SHA1 Message Date
Chinesezjc 8d53d44b60 docs(ci): reconcile every present-tense topology description with the coverage lane move
Sweep all remaining sources that still described coverage as an
enterprise 32-core job: the ci.yml jobs preamble, the three-job
paragraph of the larger-hosted-runners note, and the required-pool
sentence of the portable-recovery note — English and Chinese sides of
both notes, with their i18n pairing records re-recorded.
2026-07-24 23:49:58 +08:00
Chinesezjc e532c9ccc2 ci: restore pnpm cache on the hosted leg only
Keep the cache restore for the ephemeral hosted (untrusted-PR) leg where
it is a genuine speedup, gated by the same expression as the runs-on
pool selector; the self-hosted leg skips it and installs from the
persistent local store.
2026-07-24 23:12:20 +08:00
Chinesezjc 5818fd6224 ci: address second review round — dependabot lane, drop dead restore, update topology note
- Route untrusted PRs (forks + Dependabot, same author test as e2e.yml)
  back to the hosted enterprise pool via a runs-on expression: Dependabot
  PRs are same-repo, so the previous head.repo guard admitted
  dependency-supplied code onto the persistent self-hosted VM. A single
  job with pool selection keeps all-checks-passed free of skips.
- Drop the pnpm-store cache restore from this lane: on self-hosted the
  hosted-path cache actually HIT (Linux key) and spent ~52 s pulling
  181 MB into a path pnpm never reads; the persistent local store
  already serves warm installs in seconds.
- Update the larger-hosted-runners Agent Note (en/zh + i18n pairing
  record) so the decision record describes the shipped topology:
  coverage on the in-house vm-backup pool for trusted PRs, hosted
  Ubuntu 24.04 32-core retained for untrusted PRs.
2026-07-24 23:00:56 +08:00
Chinesezjc 81890d7a99 ci: address review — same-repo guard, keep cache path identical
- Restrict node-24-coverage to same-repo PRs so fork-originated code can
  never reach the self-hosted runner (defense in depth; the repo is
  private with forking disabled today).
- Revert the pnpm cache path to the literal /home/runner/... save-side
  path: actions/cache hashes the path into the cache version, so the ~
  variant could never match the cache saved by the master lane. On
  self-hosted the persistent local pnpm store covers warm installs.
- Drop the incorrect 'does not gate merges' claim: node-24-coverage is
  needed by all-checks-passed. Pool capacity notes moved into comments.
2026-07-24 16:37:59 +08:00
Chinesezjc bdff8573b6 ci: run coverage on in-house vm-backup pool
Coverage does not gate merges, so move it off the metered
dsh-enterprise-ubuntu-24-04-32core-test pool onto the in-house
self-hosted pool (vm-backup label, 64-core).

Also switch the pnpm store cache path to ~ so it resolves under
both /home/runner (hosted) and self-hosted home directories.

Verified on the self-hosted pool: the full coverage job (including
prepare-ci-bubblewrap and the exhaustive suite) completed green in
~5 min.
2026-07-24 12:44:00 +08:00
Tianyi Cui 2dc3bf6005 ci: reuse the primary Linux build 2026-07-23 18:02:17 +08:00
Tianyi Cui 0c678766a4 ci: isolate enterprise Linux critical paths 2026-07-23 17:49:16 +08:00
Tianyi Cui 23d92948b8 ci: defer downstream gates until build 2026-07-23 16:48:19 +08:00
Tianyi Cui f38ae74b95 ci: rebalance paid runner gates 2026-07-23 16:13:33 +08:00
Tianyi Cui 6c930888c8 ci: rebalance enterprise critical paths 2026-07-23 15:40:19 +08:00
Tianyi Cui 0e8979596c ci: split enterprise linux critical paths 2026-07-23 15:29:41 +08:00
Tianyi Cui 464065cce2 Use enterprise 32-core runners for complete CI 2026-07-23 15:06:23 +08:00
Tianyi Cui fc1b308266 ci: keep required PR checks on portable runners 2026-07-23 14:31:01 +08:00
imccyu e1cb3da755 refactor(vitest): resolve every lane through the tsconfig.base.json facade
tsconfig.vitest.json is deleted; its job (a paths map applying to all
test files) is inherent in tsconfig.base.json having no include —
vite-tsconfig-paths treats that as match-all. All four vitest configs
now pin the same facade: the unit config gains a shared pathsPlugin()
helper, the web lane drops its handwritten webserver alias (apps/web
tests are covered by match-all), and the snapshot lane leaves the root
solution (which no longer carries paths) and stops resolving client
imports through package exports. tsconfig.base.json documents the
facade role and bans include/files; the CI eslint cache key hashes the
four graph tsconfigs; the eslint tests-block comment states resolution
via the solution to tsconfig.host.json.

Per missions/tsconfig-single-graph-migration.md §3.
2026-07-23 03:59:06 +08:00
Tianyi Cui 3c397e594f ci: remove critical setup variance 2026-07-22 20:29:33 +08:00
Tianyi Cui dcf9eee3c5 ci: bound Linux gate contention 2026-07-22 20:19:56 +08:00
Tianyi Cui 9b8320cb94 ci: remove the final Linux lint tail 2026-07-22 20:06:50 +08:00
Tianyi Cui a952aaed72 ci: trim remaining hosted setup 2026-07-22 20:00:15 +08:00
Tianyi Cui 17983d72bb ci: use process-safe coverage pools 2026-07-22 19:37:45 +08:00
Tianyi Cui 02f6d919c8 ci: remove primary setup overhead 2026-07-22 19:13:07 +08:00
Tianyi Cui cbbef79fa3 ci: retune consolidated jobs for stacked workload 2026-07-22 19:00:55 +08:00
Tianyi Cui da5a1fc811 ci: separate master serial and PR jobs
Skipped matrix jobs never expand matrix display values, so let GitHub use stable job identifiers. Bind optimized jobs to pull requests and the three serial references to master pushes.
2026-07-22 18:17:06 +08:00
Tianyi Cui 41609c4ce4 ci: consolidate primary checks on one larger runner 2026-07-22 17:53:01 +08:00
Tianyi Cui 8739abdbfe Merge origin/master into worktree/ci-under-minute 2026-07-22 17:15:46 +08:00
Tianyi Cui d7e0104a72 ci: unpack bubblewrap without package transaction 2026-07-22 16:45:59 +08:00
Tianyi Cui b63e6ee72d ci: bound coverage worker forks 2026-07-22 16:26:25 +08:00
Tianyi Cui 9d81078f2f ci: split primary cold-path budget 2026-07-22 16:10:52 +08:00
Tianyi Cui c67ae11f78 ci: stabilize compatibility runner setup 2026-07-22 16:02:52 +08:00
Tianyi Cui cd19f87c3f ci: name split Linux lane precisely 2026-07-22 15:57:32 +08:00
Tianyi Cui 0f57eafc36 ci: collapse cold setup waves 2026-07-22 15:44:11 +08:00
Tianyi Cui 990f82b85c ci: tune consolidated runner concurrency 2026-07-22 15:17:17 +08:00
Tianyi Cui 3db0b71f91 ci: consolidate gates on large runners 2026-07-22 15:04:24 +08:00
Tianyi Cui 03348aa382 ci: parallelize aggregate lint 2026-07-22 14:53:46 +08:00
Tianyi Cui e65ea9bdbc ci: benchmark consolidated hosted gates 2026-07-22 14:42:43 +08:00
Tianyi Cui 95abe24cb7 ci: give snapshot lanes eight cores 2026-07-22 14:28:32 +08:00
Tianyi Cui da1bee87c7 ci: use four-core hosted runners 2026-07-22 14:13:49 +08:00
Tianyi Cui 753d168bb1 ci: benchmark larger hosted runners 2026-07-22 13:55:51 +08:00
Tianyi Cui ab1c24301a ci: rebalance hosted concurrency budget 2026-07-22 00:44:48 +08:00
Tianyi Cui 5bb594c400 ci: avoid hosted runner setup saturation 2026-07-22 00:39:58 +08:00
Tianyi Cui 109224af5d ci: quarter cold-cache lint lanes 2026-07-22 00:31:25 +08:00
Tianyi Cui 070d23d663 ci: keep cold-cache lanes bounded 2026-07-22 00:22:06 +08:00
Tianyi Cui 624d71aea6 ci: harden runner preparation caches 2026-07-22 00:11:48 +08:00
Tianyi Cui 710f062586 ci: add snapshot lane headroom 2026-07-21 23:56:53 +08:00
Tianyi Cui 53615c91e7 Merge master into worktree-windows-runtime 2026-07-21 23:39:14 +08:00
Tianyi Cui e887c0f7c0 ci: assign session title coverage 2026-07-21 23:36:35 +08:00
Tianyi Cui efba4c259b ci: split model and integration coverage 2026-07-21 23:25:52 +08:00
Tianyi Cui 9568f9ee27 ci: split Windows build and site validation 2026-07-21 23:18:49 +08:00
Tianyi Cui 06f3b246b5 ci: add serial cross-platform reference runs 2026-07-21 23:03:52 +08:00
Tianyi Cui e4c56b35e8 ci: add tail-lane headroom 2026-07-21 22:00:34 +08:00
Tianyi Cui 311cbe1e4c ci: rebalance final boundary lanes 2026-07-21 21:49:35 +08:00