Commit 7ec9682
committed
ci: skip-existing on PyPI publish to unblock concurrent PR pushes
When a PR is pushed multiple times in quick succession (or two CI runs
race), the version-bump step can compute the same next version twice
because PyPI's JSON API has a small cache window after a release.
The second 'Publish to PyPI' then fails with HTTP 400 "File already
exists", marking the entire CI run red and blocking PR merge even
though tests, type-check, build and verify all passed.
Add skip-existing: true so the publish action treats an existing
version as a non-error (it logs a warning and exits 0). PR merge is
no longer gated by this race.
Side note: skip-existing means the second push's *content* won't be
republished under the same version. The proper long-term fix is to
embed the commit SHA in the dev version (e.g. 0.0.187+sha.<short>)
so each push gets a unique artefact. Tracked separately.
release-test.yml is intentionally left unchanged: it is triggered
manually with an explicit version bump, where a conflict should
fail loudly rather than be silently skipped.
Change-Id: I4be2fb05fd06e32b83dd64d52bd62bfe8b8355cf
Co-developed-by: Claude <noreply@anthropic.com>
Signed-off-by: OhYee <oyohyee@oyohyee.com>1 parent 5523af3 commit 7ec9682
1 file changed
Lines changed: 4 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
166 | 170 | | |
167 | 171 | | |
168 | 172 | | |
| |||
0 commit comments