Skip to content

ci(release): allow release publishers to be dispatched individually - #4987

Merged
matthewgrossman merged 5 commits into
mainfrom
fix/release-publisher-dispatch/mgrossman
Oct 28, 2026
Merged

matthewgrossman merged 5 commits into
mainfrom
fix/release-publisher-dispatch/mgrossman

Conversation

@matthewgrossman

@matthewgrossman matthewgrossman commented Oct 27, 2026 •

Copy link
Copy Markdown
Member

Summary

Make the snap, TypeScript SDK, Go SDK tag and wheel publishers startable on their own, following sync-docs.yml. Release still calls each of them. A maintainer can publish one missing component for an existing release without rebuilding or rerunning Release. Immediate use: v0.1.6 is missing its stable snap, npm package and PyPI wheels. Its Go SDK tag was already created by hand.

Related Issue

No issue; release pipeline fix from a maintainer. Context: v0.1.6 Release run 40550718544, where every job after Publish Release Assets was skipped.

Changes

  • snap-publish.yml: adds workflow_dispatch with an artifact-run-id input that downloads snap-linux-* from an earlier run. The call secret is renamed to SNAPCRAFT_STORE_CREDENTIALS so calls and dispatches use the same reference. A latest/stable upload requires release-tag, so the newest-stable recheck always runs. Callers grant actions: read.
  • sdk-typescript-publish.yml (new): the publish-sdk-typescript job, moved without changing its logic.
  • sdk-go-tag.yml (new): the tag-sdk-go job, moved without changing its logic.
  • wheel-publish.yml (new): the trigger-wheel-publish job, moved without changing its logic.
  • release-publish.yml calls the three new workflows. Job IDs, needs and conditions are unchanged.
  • CI.md workflow table rows.

v0.1.6 recovery after merge

gh workflow run sdk-typescript-publish.yml -f release-tag=v0.1.6 -f npm-version=0.1.6
gh workflow run wheel-publish.yml -f release-tag=v0.1.6 -f source-sha=ac7f615cd12d5cc49cb16eb1f5f10ffeb1e90f47 -f python-version=0.1.6 -f wheel-filenames=openshell-0.1.6-py3-none-any.whl
gh workflow run snap-publish.yml -f upload-channel=latest/stable -f release-tag=v0.1.6 -f artifact-run-id=40550718544

The snap upload stays blocked until the stuck Snap Store review is cleared.

Testing

  • actionlint on the changed workflows. It reports only the existing concurrency.queue error.
  • zizmor --offline reports the same findings as main for the existing workflows. The new workflows add only low-severity self-repository suggestions.
  • test-packaging-assets.sh and sync_docs_website_test.py pass.
  • The v0.1.6 dispatches above.

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)

Move the TypeScript SDK and wheel publishers into reusable workflows and add
workflow_dispatch to them and to snap-publish.yml, following sync-docs.yml.
Release still calls each one. A maintainer can now publish one missing
component for an existing release without rebuilding or rerunning Release.

The snap publisher can upload artifacts from an earlier run, and a manual
latest/stable upload requires a release tag so it still rechecks the newest
stable release.

Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
@github-actions

Copy link
Copy Markdown

Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
A dispatched snap upload checks that its artifacts were built for the
release tag. A wheel publish first confirms the tag points to the given
commit and that each wheel is attached to that release at the given
version. artifact-run-id is declared on workflow_call so callers do not
rely on an undeclared input.

Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
TaylorMutch
TaylorMutch previously approved these changes Oct 27, 2026
A manual snap upload now requires artifact-run-id to be this repository's
publishing workflow for the channel, and stable snaps must match the GitHub
Release asset digests. A skipped stable upload now reports a notice.

Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
This reverts commit 8bcf1e1.

Signed-off-by: Matthew Grossman <mgrossman@nvidia.com>
@matthewgrossman
matthewgrossman added this pull request to the merge queue Oct 28, 2026
Merged via the queue into main with commit 3a512d2 Oct 28, 2026
83 checks passed
@matthewgrossman
matthewgrossman deleted the fix/release-publisher-dispatch/mgrossman branch October 28, 2026 00:20
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.

2 participants