Repository navigation
uv publish no longer retries 5xx upload responses #1970
Description
Activity
astral-automations-bot commented
on Sep 30, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv/actions/runs/36746391652
This occurrence extends the tracked defect to the Linux
test / cargo test on linuxjob:publish::check_keyring_behavioursreceived TestPyPI's 503 maintenance page on its fourth upload and failed thecheck_keyring_behaviours-4snapshot. The triggering astral-sh#22017 changes only workspace metadata.astral-automations-bot commented
on Sep 30, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv-dev/actions/runs/36757397708
Attempt 2 broadens the #1970 sample: username_password_no_longer_supported received 503 on upload, check_keyring_behaviours exhausted three Simple API retries, and no_credentials received 503 from the OIDC audience endpoint during the same TestPyPI outage.
astral-automations-bot commented
on Sep 30, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv/actions/runs/36778381391
Another #1970 sample occurred in the
pypi-trusted-publishing-githubtarget, which received TestPyPI's 503 maintenance response during upload. The same run also had actions/setup-python fail the GraalPy 24.1 setup step withServer Error, a hard-failure variant distinct from the success-without-interpreter sample in #787.astral-automations-bot commented
on Oct 2, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv-dev/actions/runs/36949664520
This sample affected Linux and all three Windows shards and broadened the outage to Simple API resolution tests as well as publish uploads and OIDC audience discovery.
astral-automations-bot commented
on Oct 2, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv-dev/actions/runs/36948400362
astral-automations-bot commented
on Oct 2, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv-dev/actions/runs/36949664520
Attempt 2 reproduced the TestPyPI 503 outage across Linux and all three Windows shards, including Simple API resolution, publish uploads, and OIDC audience discovery.
astral-automations-bot commented
on Oct 2, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv-dev/actions/runs/36950654230
astral-automations-bot commented
on Oct 2, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv-dev/actions/runs/37016547665
astral-automations-bot commented
on Oct 5, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv/actions/runs/36948535575
astral-automations-bot commented
on Oct 6, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv-dev/actions/runs/37411412356
astral-automations-bot commented
on Oct 6, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv-dev/actions/runs/37411412356
Attempt 3 also hit the independent Linux test_cache_invalidation flake tracked by #941: rewriting the mock executable left its ctime unchanged. TestPyPI continued returning 503 across Linux and all three Windows shards.
astral-automations-bot commented
on Oct 6, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv/actions/runs/37450150590
Attempt 1 of https://github.com/astral-sh/uv/actions/runs/37450150590 adds simultaneous macOS, Linux, and all three Windows-shard samples: TestPyPI returned HTTP 503 from upload, OIDC audience, and Simple API endpoints, failing nine distinct tests. Independently, astral-sh#20790 introduced a Hawk visibility violation in ArtifactHashPolicy::validate_download, making this mixed run deterministic overall.
astral-automations-bot commented
on Oct 6, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv-dev/actions/runs/37453760769
Run https://github.com/astral-sh/uv-dev/actions/runs/37453760769 attempt 1 reproduced the five-job TestPyPI 503 pattern and independently hit #1783. The Windows ARM64 trampoline cache step consumed 8m06s of its ten-minute budget, leaving approximately 12 seconds for Test committed binaries before the confirmed job timeout.
astral-automations-bot commented
on Oct 6, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv/actions/runs/37453739241
Attempt 1 of https://github.com/astral-sh/uv/actions/runs/37453739241 also failed the Ubuntu test uv publish job before upload: audience retrieval in pypa/gh-action-pypi-publish returned HTTP 503. This adds an HTTP-response variant to the timeout reported in #2139, alongside the known five-job TestPyPI snapshot failure pattern. Job: https://github.com/astral-sh/uv/actions/runs/37453739241/job/112237773893
astral-automations-bot commented
on Oct 6, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv/actions/runs/37453739241
astral-automations-bot commented
on Oct 6, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv/actions/runs/37453739241
astral-automations-bot commented
on Oct 6, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv-dev/actions/runs/37454968926
astral-automations-bot commented
on Oct 9, 2026 AuthorMore actionsAnother workflow run encountered this failure: https://github.com/astral-sh/uv/actions/runs/37950447848
Attempt 1 adds a GitLab HTTP 500 variant to #1970: the first fresh upload failed without retry after approximately 60 seconds of server processing. Job: https://github.com/astral-sh/uv/actions/runs/37950447848/job/113889636450. Independently, #1783 recurred with a successful cache restore: the cache step consumed 8m32s, leaving only 47 seconds for Test committed binaries before the confirmed 10-minute cutoff. Job: https://github.com/astral-sh/uv/actions/runs/37950447848/job/113887851805.
Run: https://github.com/astral-sh/uv/actions/runs/35356946647
Job: https://github.com/astral-sh/uv/actions/runs/35356946647/job/105640531183
Workflow: CI
Job:
test uv publish/Publish test packagesPlatform: GitHub-hosted Linux x86_64
Attempt: 1
A fresh
pypi-password-envupload failed immediately when TestPyPI returned a transient 503:The log contains one 503 response and no transient-retry message. In the current
PublishSession::upload, retry handling is reached only when sending the request returns an error. A completed HTTP 503 response proceeds directly tohandle_responseand terminates the command.This regresses the behavior reported in astral-sh#12027 and fixed by astral-sh#12041, which applied the retry strategy to completed 5xx responses. Source comparison indicates that the publishing-session refactor in astral-sh#21440 dropped that response-level retry check.
The triggering change, astral-sh#21821, concerns workspace metadata and does not modify publishing. #1823 is related but only retries idempotent test re-uploads; it does not restore retries for fresh uploads in
uv publish.