Skip to content

publish: resumable by workflow_dispatch on a tag - #105

Merged
vvillait88 merged 1 commit into
mainfrom
publish/resumable
Sep 5, 2026
Merged

publish: resumable by workflow_dispatch on a tag#105
vvillait88 merged 1 commit into
mainfrom
publish/resumable

Conversation

@vvillait88

Copy link
Copy Markdown
Contributor

Summary

Makes the publish workflow resumable. The v0.5.3 publish died on a transient Sigstore POST while signing the third binary, after npm publish had already succeeded, which left 0.5.3 on npm with no signed binaries, no GitHub Release and no Homebrew tap update, and a re-run of the tag's job would fail at npm publish before reaching any of them.

Three changes, all in .github/workflows/publish.yml: a workflow_dispatch trigger taking the tag (checkout at that ref); the npm step skips when that exact version is already on the registry; the release step uploads assets to an existing release instead of failing to create it. Every step reads the tag from one RELEASE_TAG variable so the push and dispatch paths are the same code. Dispatching v0.5.3 after this merges finishes that release.

Worked with Varun.

Type of change

  • Bug fix (no breaking change)
  • New feature (no breaking change)
  • Breaking change (existing callers must update)
  • Docs, tests, or internal maintenance only

Public API

none

Test plan

Workflow-only change; no unit surface. Verification is the dispatched run for v0.5.3 after merge: the npm step reports the skip, the five binaries sign, the release lands with ten assets, and the tap's formula moves to 0.5.3. The CI job on this PR only lints the workflow.

Checklist

  • Tests cover the new behavior, and the suite passes locally
  • Lint, format, and type checks pass
  • Docs and README examples updated if the public surface changed
  • No secrets, credentials, or personal data in the diff or the tests

A publish that dies after the npm step (a transient Sigstore POST failure
on v0.5.3 did exactly that) leaves the version on npm with no signed
binaries, no release and no tap update, and a re-run of the tag's job fails
at npm publish before reaching them. The workflow now takes a tag by
dispatch, skips the npm step when that version is already published,
uploads assets to an existing release instead of failing to create it, and
reads the tag from one variable in every step.
@vvillait88
vvillait88 merged commit 924a741 into main Sep 5, 2026
6 checks passed
@vvillait88
vvillait88 deleted the publish/resumable branch September 5, 2026 00:46
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