ci: roll out run-with-stall-guard beyond Test Core (#4314) - #4316
Merged
Conversation
#4309 gave Test Core the output stall guard; the same #4250 failure mode elsewhere still presented as hang-until-timeout. Extend the guard to every remaining suite-running job: - Dogfood shards (ci.yml): the guard replaces the `| tee dogfood.log` + pipefail idiom (log path unchanged, so the completeness guard needs no edit) and declares a stall at 10 min of silence. Job timeout drops 45 -> 30 as a pure backstop, mirroring Test Core. Dogfood boots real engines in-process -- exactly the population #4250's stalls came from. - rerun-safety-nightly: both full passes run under the guard at 15 min (a nightly nobody watches previously hung until the 120-min timeout). Pass 2 now tells the two reds apart: guard exit 75 gets a stall verdict pointing at #4250, everything else keeps the #4065 rerun-unsafe text -- a stall says nothing about working-tree pollution, and the old copy would have sent triage hunting for state leaks that aren't there. - coverage-nightly: wrapped at 10 min; trivial cost. No `... | tee` + pipefail combination remains in suite-running workflows (the `find`-based dist check in ci.yml keeps its pipefail; it is not this pattern). Closes #4314 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014NNaWXVEyG6Pv4EFRfYGg6
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
os-zhuang
marked this pull request as ready for review
July 31, 2026 06:17
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.
按 #4314 的清单,把 #4309 的输出静默看门狗铺到其余所有跑测试套件的 job —— 此前同样的 #4250 型停摆在这些地方仍是"挂到兜底超时"。
改动(纯搬运,guard 本体零改动)
ci.yml — Dogfood 两个 shard
Boot example apps…step 改经run-with-stall-guard.mjs执行,--stall-minutes 10;--log仍写$RUNNER_TEMP/dogfood.log,后续 Test completeness guard 零改动;| tee+set -o pipefail;Test Corestalls mid-suite with frozen log output — three occurrences in one day, each costing a manual diagnosis + rerun #4250 停摆的高危人群。rerun-safety-nightly.yml — 两遍全量
--stall-minutes 15(nightly 无人盯,此前停摆最多挂 120 分钟);Test Corestalls mid-suite with frozen log output — three occurrences in one day, each costing a manual diagnosis + rerun #4250,"与工作树污染无关,rerun 即可");其它非零 → 保留原 本地pnpm test只能跑绿一次:InMemoryDriver 默认把数据落盘,datasource-autoconnect 测试在第二次运行必然失败 #4065 rerun-unsafe 文案。不区分的话,一次停摆会把 triage 引去找不存在的状态泄漏;coverage-nightly.yml
--stall-minutes 10,顺手成本。验收对照(#4314)
… | tee+set -o pipefail组合(ci.ymlNo compiled test files in any dist的 pipefail 是find检查,按 issue 排除);验证
--(-- pnpm turbo run test --filter=… -- --shard=1/2)的透传实测正确;|| status=$?分流在bash -e下对 exit 0 / 75 / 1 三种情况实测:0 → 静默通过,75 → 停摆文案 + exit 75,1 → rerun-unsafe 文案 + exit 1。Closes #4314;ref #4250、#4309。
🤖 Generated with Claude Code
https://claude.ai/code/session_014NNaWXVEyG6Pv4EFRfYGg6
Generated by Claude Code