Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 14 additions & 1 deletion tools/setup/common/verifiers.sh
Original file line number Diff line number Diff line change
Expand Up @@ -41,8 +41,21 @@ grep -vE '^(#|$)' "$MANIFEST" | while IFS= read -r line; do
# Download to a .part suffix then atomic-rename. Protects against
# partial downloads (network flap, Ctrl-C, OOM) becoming
# permanently trusted by the TOFU check above.
#
# Retries: GitHub's release-asset CDN occasionally returns
# transient 502 / 5xx responses (most recent observed: 2026-04-25
# ~13:52 UTC, hit PR #481 CodeQL csharp + PR #482 markdownlint
# CI runs). Per Otto-285 (don't use determinism to avoid
# edge-case handling — handle the network-non-determinism
# algorithmically), curl handles the retry: `--retry 5` attempts,
# exponential backoff (2/4/8/16/32 s default), `--retry-all-errors`
# so 4xx/5xx server errors retry too (curl's default only retries
Comment on lines +47 to +52
Copy link

Copilot AI Apr 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: This comment block’s cross-reference looks incorrect: it says “PR #482 markdownlint”, but in this repo PR #482 is a different change (HLL fuzz test). Consider removing the PR-number references (they’ll drift) or updating them to the correct incident/PR IDs so the rationale stays accurate.

Suggested change
# ~13:52 UTC, hit PR #481 CodeQL csharp + PR #482 markdownlint
# CI runs). Per Otto-285 (don't use determinism to avoid
# edge-case handling — handle the network-non-determinism
# algorithmically), curl handles the retry: `--retry 5` attempts,
# exponential backoff (2/4/8/16/32 s default), `--retry-all-errors`
# so 4xx/5xx server errors retry too (curl's default only retries
# ~13:52 UTC during CI runs). Per Otto-285 (don't use
# determinism to avoid edge-case handling — handle the
# network-non-determinism algorithmically), curl handles the
# retry: `--retry 5` attempts, exponential backoff
# (2/4/8/16/32 s default), `--retry-all-errors` so 4xx/5xx
# server errors retry too (curl's default only retries

Copilot uses AI. Check for mistakes.
Comment on lines +50 to +52
Copy link

Copilot AI Apr 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1: The comment claims “exponential backoff (2/4/8/16/32 s default)”, but the command uses --retry-delay 2, which makes the delay behavior differ from curl’s default backoff (and may be a constant delay depending on curl version). Please align the comment with the actual retry behavior, or adjust the curl flags to match what the comment promises.

Copilot uses AI. Check for mistakes.
# connect / dns / 408 / 429 / 5xx-with-Retry-After). Keeps
# `-fsSL` semantics — fail at the end if all 5 attempts hit
# the same transient.
echo "↓ downloading $target from $url"
curl -fsSL -o "$dest.part" "$url"
curl -fsSL --retry 5 --retry-delay 2 --retry-all-errors \
-o "$dest.part" "$url"
mv "$dest.part" "$dest"
echo "✓ $target"
fi
Expand Down
Loading