release: 准备 Smart Bill Manager v0.2.4 - #79
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
准备 Smart Bill Manager v0.2.4 发布候选,集中收紧启动迁移、邮箱密钥一致性、服务边界、OCR 生命周期和生产部署门禁。
主要变更
数据迁移与邮箱密钥
schema_migrations,遇到程序不支持的未来数据库版本时,在修改业务 schema 前拒绝启动。服务边界与 OCR 生命周期
依赖、Compose 与发布文档
nanoid从 3.3.16 更新到 3.3.18,并恢复高危依赖审计门禁。docker-compose.production.yml,固定NODE_ENV=production,空JWT_SECRET在解析阶段即失败,后端继续要求至少 32 个字符的持久密钥。.env、设置持久 JWT、校验 production override 并启动。本地验证
CGO_ENABLED=0 go test -count=1 ./...通过。CGO_ENABLED=0 go vet ./...与CGO_ENABLED=0 go build ./...通过。npm ci、npm audit --audit-level=high(0 漏洞)、零警告 lint、58/58 前端测试和生产构建通过。git diff --check main...HEAD通过。GitHub Actions 验证
最终验证:Build and Publish Docker Image / run 31367138420
CGO_ENABLED=1的完整 SQLite 集成测试通过,后端整体覆盖率为 38.7%,达到不低于 35.0% 的门槛。GET /api/health进入 healthy;验证结束后容器、网络和数据卷均已清理。本 PR 已转为 Ready for Review;不在此流程中打 tag、创建 Release 或合并。