Skip to content

mirror: retry the completeness gate's GETs, and report the status it saw - #505

Closed
Sunrisepeak wants to merge 1 commit into
mainfrom
fix/mirror-verify-retries-transient-502
Closed

mirror: retry the completeness gate's GETs, and report the status it saw#505
Sunrisepeak wants to merge 1 commit into
mainfrom
fix/mirror-verify-retries-transient-502

Conversation

@Sunrisepeak

Copy link
Copy Markdown
Member

The v2026.8.25.1 release failed twice on a single transient 502 from GitCode for an asset it had already mirrored — verified by hand as 5,772,395 bytes with the published sha256.

  • both verification GETs retry with --retry-all-errors (plain --retry does not cover the transport-layer failures this path sees)
  • || echo ERR appended rather than replaced, so a 502 was logged as 502ERR and the log could not be grepped for a status

Pure CI-tooling change; no effect on the build.

The v2026.8.25.1 release failed its completeness gate twice. Both runs
reported all 16 assets "already mirrored, skipping", and the gate then
failed on one of them:

    [mirror] FAIL: missing/unverified:
        https://gitcode.com/xlings-res/mcpp/.../linux-x86_64.tar.gz
      502ERR  https://gitcode.com/.../linux-x86_64.tar.gz

Fetched by hand a minute later it was 5,772,395 bytes whose sha256 matched
the published checksum exactly. The file was never missing; GitCode's edge
answered 502 once, and a single unretried GET decided the release.

Both verification GETs now retry with `--retry-all-errors` — not plain
`--retry`, which covers transient HTTP codes but not the transport-layer
failures this path also sees; that distinction has cost this repository a
run of red CI before.

Also fixes the status the log reports. `|| echo ERR` APPENDS: `-f` makes
curl exit non-zero on a 502 while `-w` has already written the code, so the
variable read `502ERR` and no one could grep the log for a status. ERR is
now substituted only when curl printed nothing at all.
@Sunrisepeak

Copy link
Copy Markdown
Member Author

Folded into #506 — the goal is one PR carrying the whole family.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants