Skip to content

Publish from the manual release run without a dangerous trigger - #63

Merged
konsti-openai merged 1 commit into
mainfrom
codex/release-without-workflow-run
Nov 1, 2026
Merged

konsti-openai merged 1 commit into
mainfrom
codex/release-without-workflow-run

Conversation

@konsti-openai

Copy link
Copy Markdown
Collaborator

The manual Start release workflow on main now calls CI, prepares the tested source distribution, publishes it to PyPI, and then tags the same commit. Keeping those jobs in one run removes the privileged workflow_run trigger, its zizmor exception, and the cross-run artifact downloads. The PyPI publisher retains the release.yml filename and pypi environment.

Only the PyPI job can mint an OIDC token. Only the tagging job can write repository contents. Both jobs consume the immutable artifact ID from the preparation job, including on partial reruns. The tagging job creates its lightweight tag through the GitHub API so it can run without checking out the source tree or configuring Git credentials. A retry accepts an existing tag only at the published SHA.

This follows the guidance to call workflows directly, isolate distribution builds from publishing credentials, and grant permissions per job. zizmor trigger guidance · PyPA packaging guide · PyPI Trusted Publishing security model

Online zizmor 1.31.1 passed the repository CI audit with ignores disabled. The release workflow also passed its auditor profile with zero findings. Local tests exercised initial tag creation, partial and completed retries, and rejection of a tag at a different commit. No release was dispatched.

@konsti-openai
konsti-openai merged commit 7eef7fc into main Nov 1, 2026
8 checks passed
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