Skip to content

ci(pypi): trigger publish on v* tag push, not only release event#87

Open
neuron7xLab wants to merge 1 commit into
mainfrom
ci/pypi-tag-trigger
Open

ci(pypi): trigger publish on v* tag push, not only release event#87
neuron7xLab wants to merge 1 commit into
mainfrom
ci/pypi-tag-trigger

Conversation

@neuron7xLab

Copy link
Copy Markdown
Owner

Gap

deployments/pypi shows only one deployment (v0.2.0, which failed). v0.3.0 and v0.4.0 never published. Root causes:

  1. No PyPI Trusted Publisher configured → the v0.2.0 publish failed with invalid-publisher (OIDC). (Fixed separately on pypi.org — one-time pending-publisher registration.)
  2. This PR: publish-pypi only triggered on release: published, but the v0.3.0/v0.4.0 GitHub releases were created by github-actions[bot] (SLSA generator, GITHUB_TOKEN). GitHub does not run workflows for events created by GITHUB_TOKEN, so publish never fired.

Fix

Add push: tags: v* so a human tag push publishes directly, independent of who created the release. OIDC claim unchanged (same publish-pypi.yml, same pypi environment); the pre-publish gate still asserts tag == pyproject version.

Verified locally: YAML valid, tools/check_github_actions_policy.py PASS, python -m build + twine check PASS for bsff 0.4.0 (wheel + sdist).

🤖 Generated with Claude Code

The publish workflow only ran on `release: published`. The GitHub releases for
v0.3.0 and v0.4.0 were created by github-actions[bot] (the SLSA generator in
release-artifact.yml uses GITHUB_TOKEN), and GitHub does not run workflows for
events created by GITHUB_TOKEN — so publish-pypi never fired for those tags and
nothing reached PyPI after the (separately failed) v0.2.0 run.

Add a `push: tags: v*` trigger so a human tag push publishes directly,
independent of who created the GitHub release. The OIDC trusted-publisher claim
is unchanged (same workflow filename publish-pypi.yml, same `pypi` environment),
and the pre-publish gate still asserts the tag matches the pyproject version.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

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