From 3053704247bc31d17f9f4e441fea6e5f6509768d Mon Sep 17 00:00:00 2001 From: "russell@unturf.com" Date: Tue, 16 Jun 2026 14:12:00 -0400 Subject: [PATCH] =?UTF-8?q?twine-venv:=20pin=20twine<6=20=E2=80=94=20class?= =?UTF-8?q?ic=20~/.pypirc=20auth=20on=20build=20runner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit twine 6 (Sep 2025) auto-detects GitLab CI and refuses to fall back to ~/.pypirc, requiring PYPI_ID_TOKEN (Trusted Publishing OIDC). Pin <6 to keep the runner's ~/.pypirc fallback working until we migrate all python/* repos to Trusted Publishing as a coordinated change. --- Makefile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 86fb2aa..2ad5c9e 100644 --- a/Makefile +++ b/Makefile @@ -173,7 +173,12 @@ TWINE = $(TWINE_VENV)/bin/twine $(TWINE_VENV)/bin/twine: @echo "Creating twine virtualenv in $(TWINE_VENV)..." python3 -m venv $(TWINE_VENV) - $(TWINE_VENV)/bin/pip install --upgrade pip twine + # Pin twine <6 — newer twine auto-detects GitLab CI and refuses to + # fall back to ~/.pypirc on the runner, requiring PYPI_ID_TOKEN + # (Trusted Publishing OIDC). Until we migrate to Trusted Publishing, + # stick with classic ~/.pypirc auth on the build runner. + $(TWINE_VENV)/bin/pip install --upgrade pip + $(TWINE_VENV)/bin/pip install "twine<6" twine-venv: $(TWINE_VENV)/bin/twine