Repository navigation
fix(ci): exempt off-Linux E2E shards from vitest RPC-timeout unhandled errors (#10097) #10112
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
3bb7b2e
0503db0
b0490ee
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -34,6 +34,14 @@ export default defineConfig({ | |
| maxForks: 4, | ||
| }, | ||
| }, | ||
| // The worker->main `onTaskUpdate` RPC runs on a 60s budget; under the | ||
| // resource pressure of the macOS E2E lane a stall longer than that | ||
| // surfaces as an unhandled error and exits an all-green run red (the | ||
| // same failure class the core, cli, and scripts suites hit on these | ||
| // lanes). Test failures still fail the run; only unhandled errors stop | ||
| // being fatal, and only off Linux — the ubuntu shards and Linux local | ||
| // runs keep the unhandled-error signal. | ||
| dangerouslyIgnoreUnhandledErrors: process.platform !== 'linux', | ||
|
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Confirmed — and escalated to maintainers; this thread stays open for their decision. The claim verifies from the code itself: The remedy is either a PR-body edit or closing the PR — both outside this bot's authority in a review round (no GitHub write access; the workflow owns network writes, and choosing between the two directions is a maintainer call):
Recommendation: (a) — the code mirrors the established exemption in 中文说明已确认——并已升级给维护者;该线程保持打开,等待维护者决策。 该结论可直接从代码验证: 补救措施要么是编辑 PR 正文,要么是关闭 PR——两者都超出本机器人在审查轮次中的权限(无 GitHub 写权限;工作流负责所有网络写入,且两个方向之间的选择属于维护者决策):
建议:(a)——代码与
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Disposition: escalated for a maintainer decision — thread left open. The re-verification holds against everything checkable from this checkout: the flag is gated by 中文说明处置:已升级等待维护者决策——线程保持打开。 在本地可核查的范围内,复核结论成立:该标志由 |
||
| }, | ||
| resolve: { | ||
| alias: { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Accepted as evidence-backed — but left unresolved because the remaining remediation is outside this round's reach.
Verified locally the semantic claim this finding rests on (vitest 3.2.7 probes in a scratch project): a failing test with
dangerouslyIgnoreUnhandledErrors: truestill exits 1 (test failures stay fatal); an unhandled rejection with the flag on exits 0; the same rejection with the flag off exits 1. Combined with the log sweep reported in this thread — 401 API-key test failures on all 8 shards, zeroonTaskUpdatesignatures, four prior runs green — the exemption this PR adds cannot change run 32942410668's outcome, so merging withFixes #10097would auto-close the issue with the wrong root cause on record.What this round cannot do: removing the
Fixes #10097linkage and correcting the PR title/description are PR-metadata edits; the address-review pass has no GitHub credentials and no PR-body output channel.Maintainer decision needed: (a) drop the
Fixes #10097linkage and reframe the PR as standalone hardening —integration-testswas the only vitest project without this exemption (core, cli, and scripts all carry it) — leaving #10097 open for its real cause, the model endpoint rejecting the CI API key (transient, or a secret needing rotation), which no code change on this branch can address; or (b) close this PR. Recommendation: (a). Leaving this thread open until that decision is made.中文说明
认可该发现,证据充分——但保持线程未解决,因为剩余的补救动作超出本轮的能力范围。
该发现所依赖的语义判断已在本地验证(vitest 3.2.7,临时项目探针):在
dangerouslyIgnoreUnhandledErrors: true下,失败的测试依旧以退出码 1 结束(测试失败仍然致命);未处理的 rejection 在开启该标志时退出码为 0;同样的 rejection 在关闭该标志时退出码为 1。结合本线程中报告的日志扫描结果——全部 8 个分片都是 401 API key 导致的测试失败、零个onTaskUpdate超时签名、此前 4 次运行全绿——本 PR 添加的豁免不可能改变 run 32942410668 的结果,因此带着Fixes #10097合并会在记录错误根因的情况下自动关闭该 issue。本轮无法完成的部分:移除
Fixes #10097关联、更正 PR 标题/描述属于 PR 元数据编辑;address-review 流程没有 GitHub 凭据,也没有修改 PR body 的输出通道。需要维护者决策:(a) 移除
Fixes #10097关联,将本 PR 重新定位为独立加固——integration-tests是唯一缺少该豁免的 vitest 项目(core、cli、scripts 都已带有)——让 #10097 保持打开以追踪其真实原因,即模型端点拒绝了 CI API key(瞬时故障,或需要轮换的 secret),本分支上的任何代码改动都无法解决该问题;或 (b) 关闭本 PR。建议:(a)。在做出该决定之前,本线程保持打开。There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maintainer decision received: option (a) — keep the change, fix the framing. This thread stays open until the PR-body edit lands.
@wenshao verified the change in real macOS + Linux environments and confirms the code is correct and merge-worthy; his remaining asks are all PR-body edits, which this loop cannot perform (no GitHub write access; the workflow owns network writes and address-review has no PR-body channel):
Fixes #10097→Refs #10097(EN + 中文 sections) — the tracked run failed on API-key 401s across all 8 shards (six of them Linux, where this flag is inert);Fixeswould auto-close the still-live issue whose real cause is the E2E lanes' credential.npx vitest run --config ./scripts/tests/vitest.config.ts integration-vitest-config(2 tests) — re-verified at HEAD: the printed command exits 1 ("No test files found"), the corrected form is green.Ready-to-apply replacement text is in this round's report comment. The finding remains live until the edit lands: merging with
Fixes #10097still auto-closes #10097 with the wrong root cause on record.中文说明
已收到维护者决策:方案 (a) —— 保留改动,修正表述。在 PR 正文编辑完成之前,本线程保持打开。
@wenshao 已在真实 macOS + Linux 环境中验证该改动,确认代码正确、可合入;其余诉求均为 PR 正文编辑,本循环无法执行(无 GitHub 写权限;工作流负责所有网络写入,且 address-review 没有修改 PR 正文的输出通道):
Fixes #10097→Refs #10097(英文与中文部分)—— 被追踪的那次运行是因 API key 401 而在全部 8 个分片上失败(其中 6 个是 Linux 分片,本标志在其上不起作用);Fixes会自动关闭这个仍然存活的 issue,而其真实原因是 E2E 通道的凭据问题。npx vitest run --config ./scripts/tests/vitest.config.ts integration-vitest-config(2 个测试)—— 已在 HEAD 上重新验证:正文中的命令以退出码 1 结束("No test files found"),纠正后的命令为绿。可直接套用的替换文本见本轮的总结评论。在该编辑完成之前,本发现仍然成立:带着
Fixes #10097合并仍会以错误的根因记录自动关闭 #10097。