目标:把“平时改代码该跑什么、发版前该跑什么、哪些检查依赖私有环境”说清楚。
| 入口 | 命令 | 默认环境 | 用途 |
|---|---|---|---|
| Fast | npm run verify:fast |
本地 / CI | 日常改动、热点重构、PR 前快速守卫 |
| Full | npm run verify:full |
本地 / CI | 完整功能回归、示例回归、memory-server 矩阵 |
| Release | npm run verify:release |
本地私有发布前 | 在 full 基础上追加 opt-in 真实环境检查 |
| 命令 | 说明 |
|---|---|
npm test |
默认统一门禁:smoke + compatibility + unit + integration + TS migration;不再隐式跑 legacy compat runner |
npm run test:ts-migration |
TS-native compat 承接聚焦入口;当前已纳入默认 npm test 与 verify:fast |
npm run test:refactor-guard |
热点重构三联回归:exports + runtime/model + sync |
npm run test:server-matrix |
memory-server 默认矩阵(Node / Driver / MongoDB server) |
npm run test:real-env:private |
私有真实环境检查;默认不进入常规 verify / CI |
npm run release:preflight |
公开发布前门禁:检查 changelog / 支持矩阵 / 依赖治理文档,并串联 verify:fast + npm pack --dry-run |
npm run verify:fast说明:当前 verify:fast 已显式串联 npm run test:ts-migration。如果只想定位 TS-native compat 承接面,可单独执行 npm run test:ts-migration。
适合:
- 热点文件拆分
- 内部 helper 重构
- 类型和导出面调整
npm run verify:full适合:
- 文档和示例联动更新
- 行为变更或跨模块重构
- 发版前的完整仓库回归
npm run test:real-env:private说明:
- 仅在具备私有 Mongo / SSH 等条件时执行
- 不作为默认 CI 阶段
- 主要用于验证 memory-server 无法覆盖的真实部署路径
需要的环境变量:
MONSQLIZE_REAL_SSH_HOSTMONSQLIZE_REAL_SSH_PORTMONSQLIZE_REAL_SSH_USERNAMEMONSQLIZE_REAL_SSH_PASSWORDMONSQLIZE_REAL_MONGO_URI
- 默认闭环:
npm test/verify:fast/verify:full/test:server-matrix - 显式 opt-in:
test:real-env:private - 公开发布前门禁:
release:preflight - 本地私有发布前补充:
verify:release
verify:release依赖私有 SSH / Mongo 环境变量,适合操作者在本地或私有 runner 明确触发。- 公开 CI 与仓库默认验证链只承诺 memory-server + 仓库内可复现资产。
- 因此 GitHub Actions 的
Release Preflightworkflow 故意只运行release:preflight,不假设私有环境存在。
仓库同时提供 GitHub Actions
Release Preflightworkflow,支持手动触发和v*tag 推送时复用同一套发布前门禁。
说明:
test:server-matrix只保留跨 Driver / Server 组合下稳定可重复的兼容面。像 sync target fan-out 统计这类更依赖 change-stream 时序的深度断言,继续由常规 integration、test:refactor-guard和release:preflight覆盖。