refactor(ci): target test suites by package#script instead of a filter glob

Replace the ci:test:misc filter-glob branch with explicit package#script
branches — ci:test:runtime, ci:test:testing, ci:test:integration,
ci:test:pty — matching the package#script form already used for the
runtime-tests suites. Clearer and consistent: each branch names exactly one
suite, no filter syntax. (vp run takes a single package#script per task, so
each normal package gets its own branch.)

Verified `CI=true vp run ci` on a fresh checkout: runtime (309) + testing (7)
+ integration (756) + pty (110), PTY once, exit 0.
This commit is contained in:
Yunfei He
2026-05-29 16:23:41 +08:00
parent 1f73c9ecea
commit 77459a4e57
+14 -10
View File
@@ -35,15 +35,18 @@ export default defineConfig({
// this doesn't change overall wall-clock.
"ci:lint": { command: "vp run check:lint", dependsOn: ["ci:build"] },
"ci:type": { command: "vp run check:type", dependsOn: ["ci:build"] },
// Test branches. Normal packages keep a plain `test` script; only
// runtime-tests splits into test:integration + test:pty. So the graph
// runs every normal package's own `test` (misc), and runtime-tests' two
// suites as separate branches — keeping the slow PTY suite on its own
// parallel branch instead of serial inside runtime-tests' `test`.
// misc: select all @vue-tui/* packages, exclude runtime-tests. The glob
// means new normal packages are covered automatically.
"ci:test:misc": {
command: 'vp run --filter "@vue-tui/*" --filter "!@vue-tui/runtime-tests" test',
// Test branches, one per suite via package#script. Normal packages keep a
// plain `test`; only runtime-tests splits into test:integration +
// test:pty. Targeting each suite directly keeps runtime-tests' slow PTY
// suite on its own parallel branch (not serial inside its `test`), and
// covers the runtime/testing unit tests that a runtime-tests-only run
// would miss.
"ci:test:runtime": {
command: "vp run @vue-tui/runtime#test",
dependsOn: ["ci:build"],
},
"ci:test:testing": {
command: "vp run @vue-tui/testing#test",
dependsOn: ["ci:build"],
},
"ci:test:integration": {
@@ -60,7 +63,8 @@ export default defineConfig({
"ci:fmt",
"ci:lint",
"ci:type",
"ci:test:misc",
"ci:test:runtime",
"ci:test:testing",
"ci:test:integration",
"ci:test:pty",
],