From 81ed8b058d0306f515a73bda8156722a094db349 Mon Sep 17 00:00:00 2001 From: Thomas Juul Dyhr Date: Wed, 1 Apr 2026 14:11:47 +0200 Subject: [PATCH] fix(ci): add skip-existing to production PyPI publish step MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Allows re-running the Release workflow (e.g. via workflow_dispatch) after v1.0.0 was already published without failing with a 400 error. The TestPyPI step already had skip-existing; this brings production in line. Does not affect new releases — PyPI silently skips files that already exist at that version. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/release.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 59a93e2..df142d4 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -259,6 +259,8 @@ jobs: needs.validate-release.outputs.is_prerelease == 'false' && needs.validate-release.outputs.publish_target == 'pypi' uses: pypa/gh-action-pypi-publish@release/v1 + with: + skip-existing: true - name: Wait for package availability run: |