build(ci): 补 test:mount:aggregate / clean / packageManager 并对齐 release 校验顺序
- package.json 新增 test:mount:aggregate(scripts/e2e-aggregate-mount.sh 的 npm 别名,CI plugin-mount lane 改经它驱动,保留 DSH_CMD/DSH_TELEMETRY_DISABLED env)与 clean(node rmSync 删 lib,与 build 开头清理同款、跨平台); 只新增普通 script,不动任何生命周期钩子(market-manifest.spec.ts 对 packed manifest 的 lifecycle 断言不受影响,已实跑验证) - packageManager 钉 pnpm@11.8.0(本地实装版本;pnpm 10+ 运行时按该字段 自切版本,CI action-setup 的 version: 11 输入与其兼容不冲突) - release.yml 校验顺序统一为 typecheck → test → build → check:consumer-types (与 ci.yml 一致),补上缺失的 consumer 类型面守卫;tag 校验等非构建 步骤位置不变
This commit is contained in:
@@ -146,7 +146,7 @@ jobs:
|
||||
- name: Aggregate double-mount regression
|
||||
env:
|
||||
DSH_CMD: dsh
|
||||
run: bash scripts/e2e-aggregate-mount.sh
|
||||
run: pnpm test:mount:aggregate
|
||||
|
||||
- name: Upload Playwright report on failure
|
||||
if: failure()
|
||||
|
||||
@@ -84,15 +84,21 @@ jobs:
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Build
|
||||
run: pnpm build
|
||||
|
||||
- name: Typecheck
|
||||
run: pnpm typecheck
|
||||
|
||||
- name: Test
|
||||
run: pnpm test
|
||||
|
||||
- name: Build
|
||||
run: pnpm build
|
||||
|
||||
# The consumer-facing declaration surface guard — mirrors the ci.yml
|
||||
# verification order (typecheck → test → build → check:consumer-types)
|
||||
# so a release is gated on the same checks a PR runs.
|
||||
- name: Check consumer type surface
|
||||
run: pnpm check:consumer-types
|
||||
|
||||
- name: Dry-run publish (validation only)
|
||||
if: github.event_name == 'workflow_dispatch' && github.event.inputs.dry_run == 'true'
|
||||
run: pnpm publish --dry-run --no-git-checks
|
||||
|
||||
@@ -39,6 +39,7 @@
|
||||
"engines": {
|
||||
"node": ">=20"
|
||||
},
|
||||
"packageManager": "pnpm@11.8.0",
|
||||
"dsh": {
|
||||
"bundle": {
|
||||
"patch": "./cordis.patch.yml"
|
||||
@@ -79,6 +80,8 @@
|
||||
"prepare": "tsdown",
|
||||
"test": "vitest run",
|
||||
"test:mount": "bash scripts/e2e-mount.sh",
|
||||
"test:mount:aggregate": "bash scripts/e2e-aggregate-mount.sh",
|
||||
"clean": "node -e \"require('node:fs').rmSync('lib',{recursive:true,force:true})\"",
|
||||
"check:consumer-types": "bash scripts/check-consumer-types.sh"
|
||||
},
|
||||
"license": "MIT",
|
||||
|
||||
Reference in New Issue
Block a user