Files
qwen-code/.github
易良andQwen-Coder 3f47071d51 fix(ci): stop failing the Maven bootstrap on a rate-limited pool egress (#15539)
* fix(ci): stop failing the Maven bootstrap on a rate-limited pool egress

Maven Central answers 429 to the shared pool's egress for minutes at a time:
run 40191430799 died on this download forty seconds in, before any test. Retry
alone does not fix that -- four attempts two seconds apart all 429ed on this
pull request, and eleven attempts fifteen seconds apart all 429ed on the next
push, 2.5 minutes in all. So a host keeps one checksum-verified copy in
.cache and a cold fetch falls back to the Aliyun mirror that serves the same
bytes (verified against the pinned SHA-512, which still decides what gets
extracted). Both sources failing now ends the step in about twenty seconds
instead of hanging.

The step stays inline in all six copies rather than moving to
.github/scripts/: a called workflow may check out an older release SHA whose
tree predates a new script, which is why the lock helper is sourced
conditionally. The grown sizes are recorded in .size-baseline.

* fix(ci): keep the verified Maven archive when the cache is not writable

The cache write-back runs under `bash -e` after the archive has already
been downloaded and checksum-verified, so a `mkdir`/`cp`/`mv` failure
aborts the step before `tar` and `GITHUB_PATH` — an optional cache
becomes a prerequisite for installing Maven, in the PR whose purpose is
to stop infrastructure from reddening this lane.

Guard the whole persistence block and continue with the verified
job-local archive, matching the warn-and-skip treatment this file
already gives the same directory in the host-lock path. Applied
identically to all six copies so the workflow test's byte-identity
assertion still holds.

Reported by wenshao with a mode-0555 reproduction.

Co-authored-by: Qwen-Coder <[email protected]>
Patrol-Run: qwen-pr-closeout/jmvnsvut3uo

* fix(ci): spend the Maven retry budget on refused connects and re-record the baseline

Three review findings on the Maven bootstrap this PR adds:

- `curl --retry` does not treat a refused/unreachable connect (exit 7) as
  transient, so on a pool egress-route drop each base got one attempt and the
  step died with its declared retry budget unspent. `--retry-connrefused`
  makes exit 7 retryable; it is already house convention on the same class of
  fetch (scripts/lint.js:108, qwen-code-pr-review.yml:939).
- A failed or interrupted write-back left `${cached}.$$` in the host-shared
  cache: every occurrence takes a fresh PID name that no later run reuses, and
  nothing in the repo prunes the directory. The arm that already reports the
  failure now removes the temp name it owns.
- `.size-baseline` recorded the parent commit's byte sizes (137823 / 26405)
  rather than the files as shipped, leaving the ratchet to bill the next PR
  for growth it did not author. Both entries now equal `wc -c` exactly.

Applied to all six copies so the byte-identity pin still holds.

Co-authored-by: Qwen-Coder <[email protected]>
Patrol-Run: qwen-pr-closeout/jmvoils4rvh

---------

Co-authored-by: Qwen-Coder <[email protected]>
2026-10-26 05:43:39 +00:00
..