Skip to content

fix(ci): publish with an action that accepts Metadata-Version 2.5 - #291

Merged
abrichr merged 1 commit into
mainfrom
fix/pypi-publish-metadata-2-5
Aug 19, 2026
Merged

fix(ci): publish with an action that accepts Metadata-Version 2.5#291
abrichr merged 1 commit into
mainfrom
fix/pypi-publish-metadata-2-5

Conversation

@abrichr

@abrichr abrichr commented Aug 19, 2026

Copy link
Copy Markdown
Member

The problem

The 0.91.0 release created the tag v0.91.0, pushed the chore: release 0.91.0 commit to main, and published the GitHub release, then failed at Publish to PyPI:

InvalidDistribution: Invalid distribution metadata: '2.5' is not a valid metadata version

PyPI therefore still serves openadapt-evals 0.90.3, and main is red. Failure run: https://github.com/OpenAdaptAI/openadapt-evals/actions/runs/32306043421 (tracked by #290).

The cause

Current hatchling emits Metadata-Version: 2.5. The pinned pypa/gh-action-pypi-publish v1.14.0 (cef22109) bundles twine==6.1.0 and packaging==25.0, which do not know that metadata version. v1.14.2 (dc37677b) bundles twine==7.0.0 and packaging==26.2.

openadapt-flow and openadapt-capture already pin dc37677b.

The change

Bumps the pin to v1.14.2 and records why. Nothing else changes; the artifact itself is unaffected.

This is a fix commit, so semantic release cuts 0.91.1 and publishes it with the corrected action, which closes the PyPI gap left by 0.91.0.

🤖 Generated with Claude Code

The 0.91.0 release cut the tag, the version-bump commit and the GitHub
release, then failed at "Publish to PyPI" with
`InvalidDistribution: Invalid distribution metadata: '2.5' is not a valid
metadata version`. PyPI therefore still serves 0.90.3.

Current hatchling emits Metadata-Version 2.5. The pinned
pypa/gh-action-pypi-publish v1.14.0 bundles twine 6.1.0 and packaging 25.0,
which do not know that version. v1.14.2 bundles twine 7.0.0 and packaging
26.2, and openadapt-flow and openadapt-capture already pin it.

This is a fix commit so semantic release cuts and publishes the patch that
closes the PyPI gap.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@abrichr
abrichr merged commit bd17905 into main Aug 19, 2026
1 check passed
@abrichr
abrichr deleted the fix/pypi-publish-metadata-2-5 branch August 19, 2026 21:59
abrichr added a commit to OpenAdaptAI/openadapt-privacy that referenced this pull request Aug 19, 2026
pypa/gh-action-pypi-publish v1.14.0 bundles twine 6.1.0 and packaging
25.0, which reject Metadata-Version 2.5 -- the version current hatchling
emits. The publish step fails with:

  InvalidDistribution: Invalid distribution metadata:
  '2.5' is not a valid metadata version

This is not hypothetical: the same pin broke the openadapt-evals 0.91.0
release. The tag, the version-bump commit and the GitHub release all
landed, then "Publish to PyPI" failed, leaving PyPI stale while every
other release artifact said the version had shipped.

Move to v1.14.2 (twine 7.0.0 + packaging 26.2), the pin openadapt-flow
and openadapt-capture already use and the one applied to openadapt-evals
in OpenAdaptAI/openadapt-evals#291.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
abrichr added a commit to OpenAdaptAI/openadapt-types that referenced this pull request Aug 19, 2026
pypa/gh-action-pypi-publish v1.14.0 bundles twine 6.1.0 and packaging
25.0, which reject Metadata-Version 2.5 -- the version current hatchling
emits. The publish step fails with:

  InvalidDistribution: Invalid distribution metadata:
  '2.5' is not a valid metadata version

This repo builds with unpinned hatchling via the semantic-release
build_command, so it emits 2.5 and is exposed to exactly this failure.

This is not hypothetical: the same pin broke the openadapt-evals 0.91.0
release. The tag, the version-bump commit and the GitHub release all
landed, then "Publish to PyPI" failed, leaving PyPI stale while every
other release artifact said the version had shipped.

Move to v1.14.2 (twine 7.0.0 + packaging 26.2), the pin openadapt-flow
and openadapt-capture already use and the one applied to openadapt-evals
in OpenAdaptAI/openadapt-evals#291.

Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
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