-
Notifications
You must be signed in to change notification settings - Fork 0
Description
背景
当前仓库已经具备较完整的基础自动化能力,包括:
pnpm lintpnpm exec tsc --noEmitpnpm test:runpnpm e2e- Docker 镜像构建与部署工作流
- Dependabot 锁文件修复
- PR 代码审查机器人
结合当前仓库状态与本地验证结果,核心功能、构建、测试、E2E 已经可以正常通过,但首个正式版本发布前,仍有几项自动化保护不足,建议集中补齐。
当前缺口
1. PR 门禁缺少生产构建检查
当前 CI 会执行 lint、格式检查、TypeScript 检查、Vitest 和部分 Playwright E2E,但没有在 PR 门禁中显式执行 pnpm build。
影响:某些仅在 Next.js 生产构建阶段暴露的问题,可能在合并后或打 tag 时才暴露。
2. 部署后的自动验证过浅
当前部署工作流主要验证:
- 容器是否运行
/api/health是否可访问
但 /api/health 当前返回的是轻量静态健康信息,不能代表以下链路已经正常:
- 数据库连接与读写
- 管理端鉴权
- 代理主链路
/api/proxy/v1/* - 上游联通性
影响:部署成功不等于服务已经真正可用。
3. 缺少安全扫描自动化
当前工作流中没有看到以下类型的自动检查:
- 仓库与提交内容的 secret scan
- 依赖漏洞扫描
- Docker 镜像漏洞扫描
影响:作为处理 API Key、上游密钥与代理流量的系统,首发前应具备最基本的安全自动化门禁。
4. 可访问性与视觉回归测试没有接入默认 CI
仓库中已经存在:
tests/a11ytests/visual
但当前默认 Playwright 配置只执行 tests/e2e。
影响:管理台 UI 在后续迭代中更容易出现无感回归,可访问性问题也难以及时发现。
5. 数据库迁移一致性缺少自动校验
当前仓库已经维护 Drizzle migration 与 snapshot,但 CI 没有自动校验 schema、migration、snapshot 是否同步。
影响:后续迁移演进时,容易出现本地可用但迁移元数据不一致的问题。
6. 代理核心链路缺少稳定性与压力测试自动化
当前测试覆盖已经较强,但仍以单元测试、组件测试和少量 E2E 为主。对于 API Gateway 场景,还缺少以下自动验证:
- 流式输出稳定性
- 故障转移连续场景
- 并发与连接资源占用
- 慢上游与超时边界
影响:真实负载下的问题更晚暴露。
建议分批处理
第一批:首发前优先完成
- 在 PR 工作流中加入
pnpm build - 为部署工作流增加真实冒烟验证脚本
- 增加至少一类安全扫描工作流
第二批:首发后尽快补齐
- 把
tests/a11y和tests/visual接入默认 CI 或单独工作流 - 增加 Drizzle 迁移一致性校验
第三批:版本稳定期补齐
- 增加代理主链路压力测试与稳定性测试
- 增加更贴近生产链路的回放或故障注入测试
Project 管理建议
建议将这个 issue 放入一个单独的 GitHub Project,例如 First Release、v1.0 或 Release Readiness,把首发前需要收口的事项统一集中管理。
推荐的列结构:
- 待处理
- 进行中
- 待验证
- 已完成
推荐的字段:
- 优先级
- 版本
- 类别,例如 自动化、安全、部署、测试
这样处理的目的不是多人协作分工,而是把首发前的零散事项整理成一块可持续追踪的版本面板,便于查看哪些检查已经完成,哪些还停留在收尾阶段。
验收标准
- PR 合并前可以自动执行生产构建检查
- 部署完成后可以自动验证数据库、鉴权与至少一个核心 API 链路
- 仓库具备至少一项安全扫描自动化门禁
- 可访问性与视觉回归测试具备明确的 CI 接入策略
- 数据库迁移一致性具备自动校验
- 该 issue 已进入首发相关的 GitHub Project 或明确的版本收口列表
备注
当前仓库已经接近首个正式版本可发布状态,这个 issue 记录的是“首发前自动化补强清单”,重点在于把已有工程质量进一步提升为更稳妥的发布保护。