Skip to content

fix: add skip-existing to PyPI publish to prevent re-upload failures#84

Closed
Dongbumlee wants to merge 1 commit into
developfrom
fix/pypi-skip-existing
Closed

fix: add skip-existing to PyPI publish to prevent re-upload failures#84
Dongbumlee wants to merge 1 commit into
developfrom
fix/pypi-skip-existing

Conversation

@Dongbumlee
Copy link
Copy Markdown
Collaborator

Problem

The \publish-pypi\ step in
elease.yml\ fails with \400 File already exists\ when a release workflow is re-triggered after a successful PyPI upload. This has blocked both v0.1.6 and v0.1.7 releases from completing (GitHub Release step skipped).

Root Cause

\pypa/gh-action-pypi-publish\ does not have \skip-existing: true\ on the PyPI publish step (line 158-161). The TestPyPI step already has it — this is an inconsistency.

Fix

Add \skip-existing: true\ to the \publish-pypi\ step. This makes the step idempotent:

  • If the wheel already exists with the same hash → silently succeeds
  • If the wheel has a different hash → still fails (integrity preserved)
  • New versions always publish normally (different filename)

Impact

  • Unblocks re-runs of failed release workflows
  • Prevents cascading failure to \github-release\ job
  • No risk to new version publishing

The publish-pypi step in release.yml fails with '400 File already
exists' when a release workflow is re-triggered after a successful
PyPI upload. This has blocked both v0.1.6 and v0.1.7 releases.

Adding skip-existing: true makes the step idempotent — it succeeds
silently when the exact same wheel is already on PyPI, while still
rejecting uploads with different content for the same version.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@Dongbumlee
Copy link
Copy Markdown
Collaborator Author

Closing — this fix was already applied by @placerda in commit 323169f on develop.

@Dongbumlee Dongbumlee closed this Apr 15, 2026
@Dongbumlee Dongbumlee deleted the fix/pypi-skip-existing branch April 15, 2026 21:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant