wheels: fetch bison from a mirror, not only ftp.gnu.org - #130
Merged
Conversation
Both Linux wheel jobs failed the v0.51.3 release twice in a row with `curl: (7) Failed to connect to ftp.gnu.org port 443: Connection timed out`, on x86_64 and aarch64 alike. ftp.gnu.org is unreachable, and it was the sole source for the bison 3.8.2 tarball every Linux wheel needs (manylinux_2_28's AppStream only has 3.0.4; the grammar wants 3.8). Try ftpmirror.gnu.org (GNU's own redirector to a nearby mirror), then mirrors.kernel.org, then ftp.gnu.org last. Each gets --retry 3 --retry-all-errors and a 20s connect timeout so a slow mirror fails over instead of hanging. The folded `>-` scalar needs every line at one indent: a more-indented line keeps its newline instead of folding to a space, which would split a URL from its curl. Verified the parsed value contains zero newlines, and ran the resulting one-liner end to end (downloads and extracts). No version bump: 0.51.3 has not shipped, so this is part of it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
CLAUDE.md requires uv.lock's own self-version to track pyproject.toml on every bump. It had drifted 14 releases behind, unnoticed because nothing reads it during a wheel build. Noticed when a `uv run` re-locked it. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Both Linux wheel jobs failed the v0.51.3 release twice in a row, on x86_64 and aarch64 alike:
ftp.gnu.orgis unreachable (confirmed from a dev machine too, not just the runners), and it was the sole source for the bison 3.8.2 tarball every Linux wheel needs — manylinux_2_28's AppStream only ships 3.0.4, and the parser's grammar requires%require "3.8".macOS, Windows and sdist all passed; they get bison from brew/msys2.
Fix
Try mirrors in order,
ftp.gnu.orglast:ftpmirror.gnu.org— GNU's own redirector to a nearby mirrormirrors.kernel.orgftp.gnu.orgEach gets
--retry 3 --retry-all-errorsand--connect-timeout 20, so a slow or dead mirror fails over rather than hanging.The YAML trap
In a
>-folded scalar, a line indented more than the first keeps its newline instead of folding to a space — which would split a URL from itscurl. Every line therefore stays at one indent, with a comment saying why.Verified rather than assumed:
Version
No bump: 0.51.3 has not shipped, so this is part of it.
🤖 Generated with Claude Code