Skip to content

Conversation

@sderev
Copy link
Owner

@sderev sderev commented Feb 6, 2026

What changed

  • Add .github/workflows/release.yml.
  • Use uv publish --trusted-publishing always (OIDC, keyless).
  • Build and publish split into two jobs.
  • Publish only on stable semver tags (vX.Y.Z or X.Y.Z).

Why

Keyless trusted publishing via OIDC is the recommended PyPI approach.
uv publish replaces pypa/gh-action-pypi-publish.

How to test

  • Create a pre-release on GitHub; the publish job should be skipped.
  • Create a stable release (e.g., v1.0.0); the package should appear on PyPI.
  • Verify the trusted publisher is configured on pypi.org for sderev/lmtoolbox.

Risk

  • Requires PyPI trusted publisher configured for this repo.
  • No GitHub environment protection rules (environment block omitted).

Changelog fragment

No (internal CI change, not user-facing).

Use `uv publish --trusted-publishing always` with OIDC token for
keyless PyPI publishing on GitHub release events.

Stable-tag guard rejects pre-release and non-semver tags.

Co-authored-by: AI <ai@sderev.com>
@sderev sderev merged commit 33ac08f into main Feb 6, 2026
@sderev sderev deleted the add-release-workflow branch February 6, 2026 00:45
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