文件
hyb-oa/issues/2026-05-10_20-05-31-current-rc-deploy-r4-r5-closeout.csv
T

5.4 KiB

1IDTitleDescriptionAcceptanceTest_MethodToolsDev_StatusReview1_StatusRegression_StatusFilesDependenciesNotes
2C1最新 RC 基线与部署前提确认固定当前业务/组织 release candidate 基线为 930dbce,并确认 O2 已完成、远端备份/回滚路径可用、默认 SYNC_ENV=0;本步骤不部署。1) 工作区除本合同外无业务代码变更;2) 业务/组织目标基线为 930dbce;3) O2 DONE/DONE/DONE;4) 部署前备份和回滚路径引用既有 D2/E1-E3 证据;5) R5 仍未宣称完成。流程级验证:git status --short;git log --oneline -3;python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py issues/2026-05-10_18-25-33-formal-approval-org-config.csv;只读确认 deploy/trialrun/backups 存在新近备份;确认 SYNC_ENV 未设为 1。git|python3|ssh|manualDONEDONEDONEissues/2026-05-10_20-05-31-current-rc-deploy-r4-r5-closeout.csv[]C1 completed:业务/组织基线 930dbce,包含 8da16f5 移动/自审收口、ccef809 正式规约、465cd14 O1、930dbce O2;远端存在部署前备份 hyb-oa-db-20260510_134340.dump 与 hyb-oa-storage-20260510_134341.tar.gz;当前进程 SYNC_ENV!=1;不修改 .env,不手工修远端。
3C2受控部署最新 RC使用既有 deploy/trialrun/deploy.sh 同步最新 RC 到 /opt/hyb-oa-trialrun,执行脚本内置构建、init、/ready 和 smoke;默认不覆盖远端 .env。1) deploy 脚本成功;2) SYNC_ENV=0;3) /ready 200;4) Prisma migrate deploy/status 成功;5) 失败时停止并记录,不进入 C3/C4。流程级验证:bash deploy/trialrun/deploy.sh;检查脚本输出 env contract、rsync、容器构建/重建、init、Prisma migrate status、/ready、external deps smoke、runtime smoke、公网 bundle 扫描。bash|ssh|node|manualDONEDONEDONEdeploy/trialrun/deploy.sh|deploy/trialrun/docker-compose.yml|deploy/trialrun/runbook.md["C1"]C2 completed:bash deploy/trialrun/deploy.sh 成功;SYNC_ENV=0 跳过 .env 同步;完成 env contract、rsync、前端 build/typecheck、server/init 镜像构建、容器重建、init、Prisma migrate status up to date、/ready、external deps smoke、runtime smoke、公网 bundle 扫描 findings=0;部署脚本未注入 LIVE_SMOKE_*,因此部署后 live smoke 按设计跳过。
4C3部署后 R4 只读复检部署成功后重新执行 R4 只读复检,确认远端关键运行时文件、服务状态、Prisma、Caddy、企业微信 config 和公网 bundle 均可核对。1) 关键文件哈希与本地目标版本一致;2) server/db 容器健康;3) Prisma migrate status up to date;4) /ready 200;5) Caddy active 且反代正常;6) 企业微信 config ready 且不含 secret;7) 公网 bundle 扫描 findings=0。流程级验证:远端 sha256sum 对比 workspaceSettings.js/NavLinks.tsx/workflow.js;node scripts/qa/check-public-bundle-copy.mjs https://oa.hyinda.com;node scripts/qa/check-live-smoke-env.mjs --strict;只读检查 Caddy 与 Prisma migrate status。ssh|node|manualDONEDONEDONEdocs/trialrun/deployment-preflight-2026-05-10.md|scripts/qa/check-public-bundle-copy.mjs|scripts/qa/check-live-smoke-env.mjs["C2"]C3 completed:workspaceSettings.js/NavLinks.tsx/workflow.js 本地与远端 sha256 一致;server 容器 Up,db 容器 Up healthy;Prisma migrate status 显示 46 migrations 且 Database schema is up to date;check-live-smoke-env --strict 通过 publicReady=true wecom=ready liveSmokeReady=true liveOcrReady=true;Caddy active/enabled,oa.hyinda.com 反代到 127.0.0.1:3000;公网 bundle 扫描 scanned=54 focused=4 findings=0。
5C4O3 与 R5 自动化/真机门禁在最新 RC 部署并 R4 复检通过后,执行可自动化的公网 live smoke、真实 OCR 和正式审批链分配检查;企业微信真机与负责人审批动作为人工门禁。1) run-live-smoke-readiness.sh 通过;2) SMOKE002 提交测试单据后低/中额待办分配给 majianyong;3) 高额/例外链路可验证进入 majianyong -> wangshunli 或记录阻断;4) 真机未验收时 O3/R5 不得标 DONE;5) 所有失败项有证据。流程级验证:set -a; source ~/.hyb-oa/live-smoke.env; set +a; LIVE_SMOKE_BASE_URL=https://oa.hyinda.com bash scripts/qa/run-live-smoke-readiness.sh;按 docs/trialrun/real-device-public-checklist.md 人工记录企业微信工作台、移动报销、审批 deeplink、正式审批矩阵。bash|playwright|manualDOINGTODOTODOscripts/qa/*|docs/trialrun/real-device-public-checklist.md|issues/2026-05-10_12-39-37-release-readiness-live-smoke.csv|issues/2026-05-10_18-25-33-formal-approval-org-config.csv["C3"]C4 partial 2026-05-10:run-live-smoke-readiness.sh 通过,证据 artifacts/qa-flow/live-smoke-readiness-20260510-201403;公网 bundle findings=0,live smoke 3 passed,真实 OCR 样票不再 SKIP,结果 ocr_failed 且提示重复发票可解释;pending OCR 辅助扫描缺 DATABASE_URL 继续 SKIP。自动正式链路:SMOKE002 提交年假半天 leaveRequest=e98caca3-f7c0-4f60-a3b4-e95836b4b628,task=9a61d7a3-0080-42af-8ea0-b73563593dfa,待办 assignee=majianyong/HYD000007/manager,状态 pending/reviewing。只读 smoke 审计:authSessions=590, reimbursements=1, invoices=5, leaveRequests=1, workflowInstances=1, auditLogs=269。BLOCKED:缺企业微信真机正式矩阵截图/录屏,缺 majianyong 实际审批、wangshunli 二审或主管本人申请人工验收;因此 C4、O3、主 R5 均不得标 DONE。