Skip to content

ci: skip already-published versions when publishing to PyPI#81

Merged
dreamiurg merged 1 commit into
mainfrom
ci/pypi-skip-existing
May 22, 2026
Merged

ci: skip already-published versions when publishing to PyPI#81
dreamiurg merged 1 commit into
mainfrom
ci/pypi-skip-existing

Conversation

@dreamiurg

Copy link
Copy Markdown
Owner

Who's affected

Maintainers cutting releases — the release workflow's publish job currently goes red when PyPI already has the version being published.

What changed

The v1.10.0 release succeeded (tag, GitHub release, and PyPI artifacts all published), but the publish job reported failure with 400 File already exists because pypa/gh-action-pypi-publish ran for an already-published version (a double-trigger across consecutive merges). Adding skip-existing: true makes the upload idempotent: if the version is already on PyPI, it skips instead of failing the release.

Agent context

  • Contracts changed: none. Workflow-only.
  • Scope boundary: only .github/workflows/release.yml publish step; no code, no release-please config changes.
  • Rollback risk: safe to revert (single additive flag).

@coderabbitai

coderabbitai Bot commented May 22, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@dreamiurg has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 28 minutes and 45 seconds before requesting another review.

You’ve run out of usage credits. Purchase more in the billing tab.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 70d836aa-3c29-49f3-bec3-175d8605a88c

📥 Commits

Reviewing files that changed from the base of the PR and between c54efcf and a4f4710.

📒 Files selected for processing (1)
  • .github/workflows/release.yml

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

The publish job failed with a 400 "File already exists" when the release
workflow re-ran for an already-published version (e.g. a double-trigger
across consecutive merges). Set skip-existing so re-runs skip the upload
instead of failing the release.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@codecov

codecov Bot commented May 22, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.43%. Comparing base (c54efcf) to head (a4f4710).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #81   +/-   ##
=======================================
  Coverage   93.43%   93.43%           
=======================================
  Files          10       10           
  Lines        1857     1857           
  Branches      239      239           
=======================================
  Hits         1735     1735           
  Misses         84       84           
  Partials       38       38           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@dreamiurg dreamiurg force-pushed the ci/pypi-skip-existing branch from 3f6a862 to a4f4710 Compare May 22, 2026 09:09
@dreamiurg dreamiurg merged commit 541ff05 into main May 22, 2026
17 checks passed
@dreamiurg dreamiurg deleted the ci/pypi-skip-existing branch May 22, 2026 09:11
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