From 7ccf2d067b0011fdc8c2e7fef01d818106e931b9 Mon Sep 17 00:00:00 2001 From: Christian Manivong Date: Sat, 24 Oct 2026 08:14:38 +0200 Subject: [PATCH] fix(ci): twine upload --verbose --skip-existing PyPI answered 429 to every first upload of a new project since the afternoon of 2026-10-23; without --verbose the log does not say why or for how long. --- .gitea/workflows/driver.yml | 4 +++- CHANGELOG.md | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitea/workflows/driver.yml b/.gitea/workflows/driver.yml index add8c65..415bf3d 100644 --- a/.gitea/workflows/driver.yml +++ b/.gitea/workflows/driver.yml @@ -203,7 +203,9 @@ jobs: if [ -z "$TWINE_PASSWORD" ]; then echo "no PYPI_TOKEN secret in this repo"; exit 1; fi python -m venv .venv .venv/bin/pip install -q twine "$STANDARD" - .venv/bin/twine upload --non-interactive dist/* + # --verbose: on a refusal PyPI says why (429 on new projects, 2026-10-23/24). + # --skip-existing: a re-run after a partly successful upload does not fail. + .venv/bin/twine upload --non-interactive --verbose --skip-existing dist/* - name: Gitea release env: GITEA_URL: ${{ github.server_url }} diff --git a/CHANGELOG.md b/CHANGELOG.md index 2af3dcc..9231dce 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,8 @@ The format follows [Keep a Changelog](https://keepachangelog.com/), versions fol device-types pilot). ### Fixed +- `publish` uploads with `--verbose`, so a refusal from PyPI shows its reason, and + `--skip-existing`, so a re-run after a partly successful upload does not fail. - The shared workflow waits 60 s per download and retries ten times, so a slow PyPI response no longer fails a job. - `ratchet` refuses a package directory that does not exist. Guessed from the name -- 2.54.0