ci(ingestion): publish to PyPI before creating the release tag - #602
Conversation
A failed upload previously left an orphaned tag that blocked re-dispatch after main moved. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
-
Critical —
.github/workflows/release-ingestion.yml, added “Download build artifacts” step beforeactions/checkout:actions/checkoutcleans/prepares the workspace and will remove the untrackeddist/directory downloaded immediately before it. The subsequent PyPI action therefore has no packages to publish, causing every release to fail. Move checkout before artifact download, or download artifacts under${{ runner.temp }}and publish from there. -
Critical — same hunk, publishing before GitHub release creation: If PyPI publication succeeds but checkout or
gh release createfails, rerunning the workflow attempts to upload the immutable version again. PyPI rejects duplicate distributions, so the retry never reaches release creation, leaving the release permanently incomplete. Make publication retry-safe (for example,skip-existing: truewith appropriate validation) or redesign the ordering/rollback behavior so a rerun can finish the GitHub release.
Summary
Test plan
mainzep-ingest0.2.0 publishes to PyPI and the GitHub release/tag is created afterwardMade with Cursor