fix(ci): widen the built-tree download window for eight shards (#16285)

* fix(ci): widen the built-tree download window for eight shards

Eight shards now pull the same unit-test-tree artifact at once, so the
download cap has to clear the blob's tail latency rather than the median.
On main the slow host class took 4m52s, and two consecutive runs expired
twice at the five-minute cap before the unpack ran, which failed the
required Linux check with no test involved.

Raise both attempts to fifteen minutes and pin the pair in the
build-to-shard handoff contract.

Co-authored-by: Qwen-Coder <[email protected]>

* fix(ci): size the shard download cap from the measured tail

Review flagged that the outgoing comment claimed a pool host had stalled
"for over a quarter of an hour", which the new fifteen-minute cap then
contradicts. That claim came in with the sharding commit and was never
tied to a run; neither incident can prove how far past five minutes the
tail went, so the comment now states only the measured distribution.

Also correct the number: the slowest completed shard took just under five
minutes, and it was a different shard that expired, on two consecutive
runs. Add the missing shard-side ceiling contract, mirroring the build
job's: every blocking step cap has to fire before the job cap, because a
cancelled job skips the failure-gated disk-pressure collector.

Co-authored-by: Qwen-Coder <[email protected]>

---------

Co-authored-by: Qwen-Coder <[email protected]>
This commit is contained in:
易良andQwen-Coder authored and GitHub committed 2026-11-04 17:41:55 +08:00
1 parent 26ed1a322b
commit b383efb854
2 files changed
+43 -4

No files matched your search

+10 -4
View File
@@ -1093,12 +1093,18 @@ jobs:
trap 'pkill -TERM -P "$SAMPLER_PID" 2>/dev/null || true; kill "$SAMPLER_PID" 2>/dev/null || true' EXIT
corepack pnpm install --frozen-lockfile --prefer-offline --reporter=append-only
# A pool host's download usually takes under a minute but has stalled
# for over a quarter of an hour; bound it and try once more.
# Eight shards pull this same artifact at once, so the cap has to clear
# the slow tail rather than the median: on main four shards finished
# inside a minute, three needed between 2m40s and just under five
# minutes, and one exceeded the old five-minute cap on two consecutive
# runs, which skipped the unpack and failed the required check. Fifteen
# minutes leaves that measured tail about three times the headroom; if
# main still expires, the fix is fewer concurrent fetches, not a bigger
# cap.
- name: 'Download the built tree'
id: 'download_tree'
if: "${{ needs.test_build.result == 'success' && needs.classify_pr.outputs.skip_ci != 'true' && steps.ci_profile.outputs.ci_profile == 'full' }}"
timeout-minutes: 5
timeout-minutes: 15
continue-on-error: true
uses: 'actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c' # v8.0.1
with:
@@ -1107,7 +1113,7 @@ jobs:
- name: 'Retry downloading the built tree'
if: "${{ steps.download_tree.outcome == 'failure' }}"
timeout-minutes: 5
timeout-minutes: 15
uses: 'actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c' # v8.0.1
with:
name: 'unit-test-tree'