Skip to content

ci: 收紧测试超时并补齐 Windows 安装器门禁 - #110

Merged
uvwt merged 1 commit into
mainfrom
ci/stability-20260914
Sep 14, 2026
Merged

uvwt merged 1 commit into
mainfrom
ci/stability-20260914

Conversation

@uvwt

@uvwt uvwt commented Sep 14, 2026

Copy link
Copy Markdown
Owner

背景

#108 的 Windows follow-up 暴露了两个 CI 层问题:

  • Go Test/Race 使用默认缓存和 10 分钟包级超时,ACP prompt/steering 的真实启动竞态会让单次失败拖满 10 分钟,重复 rerun 只能掩盖问题。
  • Windows Installer 完整 E2E 只在 main push / workflow_dispatch 运行,导致 refactor(installer): 收敛跨平台安装与 Release 边界 #107 required checks 全绿后,真正的 Windows Installer 问题才在 main 暴露。

ACP 竞态本身已由 #109 修复。本 PR 只治理 CI,不再改产品逻辑。

改动

  • Go Test/Race 强制 -count=1,避免 setup-go 恢复的 test cache 让 CI 跳过真实执行。
  • Go Test/Race 增加 -timeout=3m,Linux 额外对 prompt/steering 关键路径做 20 轮 race 回归并限制 90 秒。
  • Go matrix / browser / container jobs 增加明确总超时。
  • Windows Installer 新增 PR change detector:相关目录变更运行完整 Windows E2E,不相关 PR 跳过昂贵 Windows job。
  • 新增始终存在的 Windows Installer gate,便于安全加入 branch protection;change detection 失败、相关 E2E 失败都会使 gate 失败。
  • Windows Installer validate job 限制 30 分钟;test package 发布显式限定为 workflow_dispatch
  • 增加 workflow contract 测试,防止上述边界被后续改动意外移除。

本地验证

  • go test ./... -count=1 -timeout=3m
  • go test -race ./internal/acp -run 'Test(StartPromptWaitsForPromptDispatchBeforeSteering|ClaudeSteeringFallbackCancelsOldRunAndStartsObservableTurn|CodexSteeringFallbackCancelsOldRunAndStartsObservableTurn)$' -count=20 -timeout=90s
  • go test -race ./... -count=1 -timeout=3m
  • go vet ./...
  • go build ./cmd/agentdock
  • actionlint
  • git diff --check
  • 本地验证 Windows gate truth table:相关+validate success 通过;相关+validate failure 失败;不相关+validate skipped 通过;change detection failure 失败。

@uvwt
uvwt merged commit 2bc9fdc into main Sep 14, 2026
10 checks passed
@uvwt
uvwt deleted the ci/stability-20260914 branch September 14, 2026 11:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant