Skip to content

Require PyPI release tags to descend from main - #10

Merged
sderev merged 1 commit into
mainfrom
agent/release-main-guard
Jul 14, 2026
Merged

Require PyPI release tags to descend from main#10
sderev merged 1 commit into
mainfrom
agent/release-main-guard

Conversation

@sderev

@sderev sderev commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Author: AI

What changed:

  • Add the shared release-history checkout and ancestry guard to the PyPI workflow.
  • Require stable release tags to resolve to commits reachable from origin/main before uv publish.
  • Preserve prerelease and non-stable tag behavior.

Why:

  • Prevent an off-main tag from reaching PyPI if a release is published too early.

How to test:

  • gate; uv lock --check; uv build
  • Parse the workflow as YAML.
  • No live release was created.

Risk/comp notes:

  • The guard runs only for stable tags; prereleases still skip PyPI publication.
  • Lightweight and annotated tags are both resolved to commits.

Changelog fragment: no; this changes release infrastructure only.

* Verify stable release tags against `origin/main` before PyPI publication.
* Preserve prerelease and non-stable tag handling.

Co-authored-by: AI <ai@sderev.com>
@sderev
sderev marked this pull request as ready for review July 14, 2026 18:09
@sderev
sderev merged commit 89fb50f into main Jul 14, 2026
6 checks passed
@sderev
sderev deleted the agent/release-main-guard branch July 14, 2026 18:10
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