mirror of
https://github.com/QwenLM/qwen-code.git
synced 2026-11-07 06:19:43 -10:00
* 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]>