ci: 增加 CI 测试门禁 + 文档变更跳过部署 - #111
Conversation
- deploy.yml: 加 paths-ignore 跳过 docs/md 等纯文档变更 - deploy.yml: 新增 test job (ubuntu-latest) 作为部署前门禁,typecheck + 单元测试 - 新建 ci.yml: PR 级别测试 (typecheck + lint + unit tests) - 测试排除 quality.test.ts 和 integration.test.ts (外部 API 依赖) - 新增 docs/ci-improvements.md 改进方案文档 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Claude finished @lishuceo's task in 1m 6s —— View job PR Review: ci: 增加 CI 测试门禁 + 文档变更跳过部署
✅ Approved — solid CI improvementOverall this is a clean, well-structured PR that adds meaningful CI guardrails. What's good:
One issue found:
Note on |
|
|
||
| jobs: | ||
| test: | ||
| runs-on: ubuntu-latest |
There was a problem hiding this comment.
🟡 Warning (confidence: 80): Missing timeout-minutes on test job.
ci.yml sets timeout-minutes: 10 on its test job, but this one doesn't. If tests hang (e.g., unresolved promise, infinite loop), the deploy workflow stays blocked for GitHub's default 360-minute timeout, preventing any subsequent deploys.
| runs-on: ubuntu-latest | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 |
There was a problem hiding this comment.
test job in deploy.yml (line 15) still has no timeout-minutes. ci.yml has timeout-minutes: 10 — this should match.
Previously in thread mode, only the last turn's text was shown in the result card. Intermediate turns' text content was accumulated in memory but never sent to Feishu, causing users to miss detailed conclusions. Add a continuously-updated text content card between the progress card (tool calls) and the result card (status). Also fix pre-existing bug where the normal completion path dropped the last turn's tool calls from the progress card. Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ESLint v10 要求 eslint.config.js (flat config),项目尚未配置, 本地和 CI 均无法运行 npm run lint。先移除 CI lint 步骤, 待后续 PR 单独修复 ESLint 配置。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Claude finished @lishuceo's task in 1m 36s —— View job PR Review: ci: 增加 CI 测试门禁 + 文档变更跳过部署 (re-review after sync)
|
| Severity | File | Issue | Status |
|---|---|---|---|
| 🟡 Warning | deploy.yml:15 |
Missing timeout-minutes on test job |
Still open (from previous review) |
The CI workflow changes and the text content card feature both look solid. Only the persisting timeout-minutes gap needs to be addressed.
* ci: 增加 CI 测试门禁 + 文档变更跳过部署 - deploy.yml: 加 paths-ignore 跳过 docs/md 等纯文档变更 - deploy.yml: 新增 test job (ubuntu-latest) 作为部署前门禁,typecheck + 单元测试 - 新建 ci.yml: PR 级别测试 (typecheck + lint + unit tests) - 测试排除 quality.test.ts 和 integration.test.ts (外部 API 依赖) - 新增 docs/ci-improvements.md 改进方案文档 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * feat: add text content card to display agent output in threads (#110) Previously in thread mode, only the last turn's text was shown in the result card. Intermediate turns' text content was accumulated in memory but never sent to Feishu, causing users to miss detailed conclusions. Add a continuously-updated text content card between the progress card (tool calls) and the result card (status). Also fix pre-existing bug where the normal completion path dropped the last turn's tool calls from the progress card. Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: CI 移除 lint 步骤 — ESLint v10 缺少 flat config ESLint v10 要求 eslint.config.js (flat config),项目尚未配置, 本地和 CI 均无法运行 npm run lint。先移除 CI lint 步骤, 待后续 PR 单独修复 ESLint 配置。 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Summary
paths-ignore,文档变更不再触发部署重启testjob 作为部署前门禁(typecheck + 单元测试,排除外部 API 依赖的 quality/integration 测试)ci.ymlPR 级别检查(typecheck + lint + 单元测试),在 merge 前拦截问题Test plan
🤖 Generated with Claude Code