Skip to content

👷 ci: retry transient apt failures on Linux#3139

Merged
gaborbernat merged 1 commit into
pypa:mainfrom
gaborbernat:fix-ci-fish-ppa-flake
May 5, 2026
Merged

👷 ci: retry transient apt failures on Linux#3139
gaborbernat merged 1 commit into
pypa:mainfrom
gaborbernat:fix-ci-fish-ppa-flake

Conversation

@gaborbernat
Copy link
Copy Markdown
Contributor

Linux test jobs have been failing in waves because ppa.launchpadcontent.net (the fish-shell PPA used by the Install OS dependencies step) intermittently refuses connections during apt-get install. When this happens, every Linux matrix entry across CPython 3.8–3.14, free-threaded variants, PyPy, and GraalPy turns red on PRs that touch nothing related to the failure, including the pre-commit autoupdate run on #3137.

Wrap apt-get install, apt-add-repository, and apt-get update in a small bash retry loop, and add --retry/--retry-all-errors to the curl call that fetches the nushell GPG key. Five attempts with a ten-second backoff is enough to absorb single-host blips without blocking forever when the upstream is genuinely down. macOS and Windows steps are untouched because their failures have not been the recurring source of flakes.

Linux jobs intermittently fail at the OS dependency setup step when
ppa.launchpadcontent.net (fish-shell PPA) refuses connections, taking
down every Linux matrix entry on PRs that touch nothing in the network
path (e.g. pre-commit autoupdate runs).

Wrap the apt-get and add-apt-repository invocations in a small retry
loop and let curl retry the nushell GPG fetch as well, so a single
upstream blip stops cascading into a wave of red checks instead of
masking flakes that no amount of rerunning can avoid.
@gaborbernat gaborbernat added the bug label May 5, 2026
@gaborbernat gaborbernat merged commit 936a36a into pypa:main May 5, 2026
58 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant