Files
codebase-memory-mcp/.github/workflows
Martin Vogel 462b0d3922 fix(release): unwedge publish-registries — twine 7 for Metadata-Version 2.5, idempotent re-runs
The v0.10.1 publish failed twice, for two stacked defects:

1. `python -m build` resolves the UNPINNED hatchling backend fresh inside its
   isolated build env, and current hatchling emits Metadata-Version 2.5 —
   which the pinned twine==6.2.0 rejects as "'2.5' is not a valid metadata
   version". Deterministic, and a time bomb: v0.10.0 published cleanly days
   ago on the same pins. Verified locally on identical artifacts: twine 6.2.0
   rejects, twine 7.0.0 passes. The pin moves to 7.0.0 and `twine check`
   now runs at build time so a metadata regression fails BEFORE upload.

2. The job was not idempotent, breaking its own design comment ("if publish
   fails, the release stays in draft so we can re-run"). Attempt 1 published
   npm 0.10.1 and then died at twine; the re-run 403'd on its own success
   ("cannot publish over the previously published versions") and the release
   wedged in draft. npm publish now skips when the exact version already
   exists on the registry, and twine uploads with --skip-existing — both
   registries treat immutable prior success as done, not as a collision.

Workflow-only diff. Unblocks re-dispatching the wedged v0.10.1 release.

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
2026-08-11 10:12:41 +02:00
..