Repository navigation
ci(release): make the PyPI publisher dispatchable - #5222
Merged
Merged
Conversation
Move the PyPI upload into a reusable wheel-publish.yml with workflow_call and workflow_dispatch, called from release-publish.yml after the GitHub Release is created. PyPI Trusted Publishing matches job_workflow_ref, so calls and dispatches both authenticate as wheel-publish.yml. A failure in another publisher no longer skips PyPI, and a maintainer can publish a missing wheel for an existing release without rerunning Release. Write down that every release publisher keeps a manual trigger. Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>
pimlock
requested review from
a team,
derekwaynecarr,
mrunalp and
sjenning
as code owners
November 3, 2026 20:39
|
🌿 Preview your docs: https://nvidia-preview-pr-5222.docs.buildwithfern.com/openshell |
The manual trigger rule lives in CI.md, which most changes do not need. Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>
Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>
matthewgrossman
approved these changes
Nov 3, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The v0.1.7 release never reached PyPI. The Buf push failed, Publish failed with it, and Release skipped the PyPI job. #5157 had removed
wheel-publish.yml, so we had no way to publish just the wheel.This brings
wheel-publish.ymlback as a workflow Release calls and maintainers can dispatch, and moves it into Publish next to snap and npm. It also writes down the rule from #4987 that every release publisher keeps a manual trigger.Related Issue
No issue required. This restores the manual PyPI dispatch that #5157 removed, and we need it to finish v0.1.7.
Changes
wheel-publish.ymlhasworkflow_callandworkflow_dispatch. The steps match the job ci(release): publish stable Python wheels directly to PyPI #5157 added torelease.yml. It checks the tag commit, downloads the wheel and checksums from the GitHub Release, verifies them, and uploads with Trusted Publishing.release-publish.ymlcalls it after the GitHub Release is created, andCheck Publicationrequires it. A Buf or snap failure no longer skips PyPI.release.ymldrops its own PyPI job.CI.mdstates the manual trigger rule. The release skill has the recovery command.PyPI matches the publisher on the file that contains the publishing job (
job_workflow_ref, see warehouse). Both calls and dispatches show up aswheel-publish.yml, so theopenshellPyPI project needs a publisher for workflowwheel-publish.ymland environmentpypibefore this merges. We can remove therelease.ymlpublisher afterwards.After merge, publish v0.1.7 with:
Buf will get its manual trigger in a separate PR.
Testing
mise run pre-commitpassesconcurrency.queueerrorssync_docs_website_test.pypassesChecklist