自动化与人工边界
提交前由仓库门禁负责
- Rust/Flutter/前端编译、静态检查与单元测试;
- NSD API、策略、分发与存储契约;
nsCLI 参数、状态 JSON、控制/数据传输与端到端拓扑;- App 控制器、平台桥接、更新包与
libns产物一致性; - NSGW 配置、投影、中继和流量路径回归。
准确数量会随代码变化,不在本文复制一个会过期的数字。测试交付以对应仓库本次提交的门禁结果为准。
人工必须补充
- 真设备的系统权限、安装、更新与回滚;
- 浏览器授权后回 App 的完整登录体验;
- 多账号、多组织/网络、退出再登录与取消切换;
- Wi-Fi、5G、企业防火墙、弱网与休眠恢复;
- iPhone/Android/macOS 页面布局、弹窗、加载、导航与文案;
- Node、Private Service、Public Application、Gateway Egress、Internet Exit Grant 的“不可见 + 不可达”双重验证,以及 Subnet Grant 的 Not Ready/fail-closed 负向验证;
- build 22+ / 移动端普通升级与桌面 build 1–21 一次性迁移各自的启动、断开和身份边界。
不要为了“看起来测得多”重复 CI。把时间用在真设备、真实网络和权限边界上。