fix: 修复 CI 时区测试失败 + 依赖安全升级 + 新增依赖检查 workflow #68

Merged
wangziqi merged 1 commits from fix/ci-deps-security into main 2026-08-10 02:13:42 +00:00
Owner

背景

  • CI 每次都在后端测试阶段失败:attendance.lesson-session.spec.ts 的「uses Asia/Shanghai time…」用例在 UTC 容器里必挂。
  • npm audit(官方源)报告生产依赖 3 个漏洞:@ant-design/x(low)、@ant-design/x-markdown(moderate)、mermaid(moderate),且 dompurify 传递依赖存在 moderate XSS 漏洞。
  • 仓库缺少依赖安全检查。

改动

  1. 修复 CI 失败(根因)getCourseClock 原先用进程本地时间(CI 容器是 UTC),改为固定 utcOffset(8)(Asia/Shanghai),与 attendance-settlement 的实现对齐;本地 TZ=UTC 全量后端测试 152 suites / 1178 tests 通过。
  2. 依赖升级:@ant-design/x 2.8→2.9、@ant-design/x-markdown 2.8→2.9、mermaid 11.16.0→11.16.1;新增直接依赖 dompurify@3.4.13(mermaid/x-markdown 复用),生产依赖 audit 归零。
  3. 新增 .gitea/workflows/dependency-check.yml:PR + 每周一 + 手动触发;生产依赖 moderate+ 或全局 critical 失败,outdated 仅报告(注意:npmmirror 不支持 audit,已显式用官方 registry)。

验证

  • 后端:TZ=UTC 全量测试 1178/1178 通过;server lint 通过
  • 前端:typecheck/build/176 测试通过
  • npm audit --omit=dev:0 vulnerabilities
## 背景 - CI 每次都在后端测试阶段失败:`attendance.lesson-session.spec.ts` 的「uses Asia/Shanghai time…」用例在 UTC 容器里必挂。 - `npm audit`(官方源)报告生产依赖 3 个漏洞:@ant-design/x(low)、@ant-design/x-markdown(moderate)、mermaid(moderate),且 dompurify 传递依赖存在 moderate XSS 漏洞。 - 仓库缺少依赖安全检查。 ## 改动 1. **修复 CI 失败(根因)**:`getCourseClock` 原先用进程本地时间(CI 容器是 UTC),改为固定 `utcOffset(8)`(Asia/Shanghai),与 attendance-settlement 的实现对齐;本地 `TZ=UTC` 全量后端测试 152 suites / 1178 tests 通过。 2. **依赖升级**:@ant-design/x 2.8→2.9、@ant-design/x-markdown 2.8→2.9、mermaid 11.16.0→11.16.1;新增直接依赖 dompurify@3.4.13(mermaid/x-markdown 复用),生产依赖 audit 归零。 3. **新增 `.gitea/workflows/dependency-check.yml`**:PR + 每周一 + 手动触发;生产依赖 moderate+ 或全局 critical 失败,outdated 仅报告(注意:npmmirror 不支持 audit,已显式用官方 registry)。 ## 验证 - 后端:TZ=UTC 全量测试 1178/1178 通过;server lint 通过 - 前端:typecheck/build/176 测试通过 - `npm audit --omit=dev`:0 vulnerabilities
wangziqi added 1 commit 2026-08-10 02:05:47 +00:00
fix: 修复 CI 时区测试失败 + 依赖安全升级 + 新增依赖检查 workflow
All checks were successful
CI / check (pull_request) Successful in 4m11s
Dependency Check / check (pull_request) Successful in 2m30s
c6e1d94510
- fix(server): getCourseClock 固定 UTC+8(Asia/Shanghai),与 attendance-settlement 保持一致,
  修复 CI(UTC 容器)下 attendance.lesson-session.spec.ts 失败
- chore(deps): @ant-design/x 2.9.0 / @ant-design/x-markdown 2.9.0 / mermaid 11.16.1;
  直接依赖 dompurify 3.4.13(修复生产依赖 audit 漏洞,mermaid/x-markdown 复用同一份)
- ci: 新增 dependency-check workflow(生产依赖 moderate+ / 全局 critical 失败,outdated 报告)
wangziqi merged commit e092ede8d8 into main 2026-08-10 02:13:42 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wangziqi/gongxue-base#68
No description provided.