chore: include production build in release verification

This commit is contained in:
Your Name 2026-05-27 14:35:00 +08:00
parent 29ef366709
commit befbc8e205
5 changed files with 12 additions and 3 deletions

View File

@ -15,6 +15,7 @@
- [ ] `pnpm check:branch`
- [ ] `pnpm check:quality`
- [ ] `pnpm build`
- [ ] `AUTH_TRUST_HOST=true PORT=3001 pnpm dev`
- [ ] `SMOKE_BASE_URL=http://127.0.0.1:3001 pnpm smoke:routes`

View File

@ -98,11 +98,12 @@ git fetch github main --prune
pnpm check:branch
pnpm check:quality
pnpm audit:security
pnpm build
AUTH_TRUST_HOST=true PORT=3001 pnpm dev
SMOKE_BASE_URL=http://127.0.0.1:3001 pnpm smoke:routes
```
发布或创建 PR 前可使用一条命令串起质量、安全和路由烟测:
发布或创建 PR 前可使用一条命令串起质量、安全、生产构建和路由烟测:
```bash
SMOKE_BASE_URL=http://127.0.0.1:3001 pnpm verify:release

View File

@ -21,6 +21,7 @@ git diff --check
pnpm check:artifacts
pnpm clean:artifacts
pnpm audit:security
pnpm build
SMOKE_BASE_URL=http://127.0.0.1:3001 pnpm verify:release
```
@ -36,7 +37,7 @@ pnpm check:quality
SMOKE_BASE_URL=http://127.0.0.1:3001 pnpm verify:release
```
`pnpm verify:release` 会串起 `pnpm check:quality`、`pnpm audit:security` 和 `pnpm smoke:routes`。它要求显式设置 `SMOKE_BASE_URL`,避免误把路由烟测跑到错误环境。
`pnpm verify:release` 会串起 `pnpm check:quality`、`pnpm audit:security`、`pnpm build` 和 `pnpm smoke:routes`。它要求显式设置 `SMOKE_BASE_URL`,避免误把路由烟测跑到错误环境。
其中 `pnpm check:artifacts` 会检查 `.DS_Store`、swap 文件、`.env.local`、`.claude/`、migration backup 和 `tsconfig.tsbuildinfo` 等本地污染物是否被 Git 追踪。

View File

@ -17,11 +17,12 @@ SMOKE_BASE_URL=http://127.0.0.1:3001 pnpm verify:release
- `pnpm check:quality` 通过 lint、日志脱敏门禁、公开交付面品牌治理、CI hygiene、环境变量示例卫生、secret hygiene、package metadata、测试门禁卫生、轻量 helper 回归测试、类型检查、diff hygiene 和 tracked 污染物检查。
- `pnpm check:branch` 确认当前分支相对 `github/main` 没有 dry-run merge 冲突;behind main 会提示为 warning,发布前可用 `REQUIRE_UP_TO_DATE=true` 提升为失败。
- `pnpm audit:security` 输出已审计,Dependency Audit workflow 也应通过;若仍有 critical/high,必须在 [dependency-risk-register.md](dependency-risk-register.md) 中记录 remediation 或风险接受状态。
- `pnpm build` 完成生产构建,验证 Next.js route collection、静态/动态页面边界和构建期 TypeScript。
- `pnpm smoke:routes` 验证 `/` 返回 200。
- `/classic` 和 `/chat/test-id` 重定向到 `/`。
- `/settings` 未登录重定向到 `/login?callbackUrl=%2Fsettings`。
`pnpm verify:release` 会依次运行 `pnpm check:quality`、`pnpm audit:security` 和 `pnpm smoke:routes`。必须显式提供 `SMOKE_BASE_URL`,确保路由烟测指向本地、预发或生产中的明确目标。
`pnpm verify:release` 会依次运行 `pnpm check:quality`、`pnpm audit:security`、`pnpm build` 和 `pnpm smoke:routes`。必须显式提供 `SMOKE_BASE_URL`,确保路由烟测指向本地、预发或生产中的明确目标。
## 发布边界

View File

@ -16,6 +16,11 @@ const steps = [
command: "pnpm",
args: ["audit:security"],
},
{
name: "production build",
command: "pnpm",
args: ["build"],
},
];
if (baseUrl) {