Skip to content

fix(ci): let npm-release be dispatched for a tag - #10

Merged
spacedevin merged 1 commit into
mainfrom
feat/npm-release-dispatch
Aug 4, 2026
Merged

fix(ci): let npm-release be dispatched for a tag#10
spacedevin merged 1 commit into
mainfrom
feat/npm-release-dispatch

Conversation

@spacedevin

Copy link
Copy Markdown
Owner

Promoting v1.2.6 out of prerelease fired no workflow run at all. crates-release.yml could be recovered because it has a workflow_dispatch; npm-release.yml doesn't, so the npm publish simply didn't happen and the only recovery was to edit the release again and hope the event fired that time.

Fix

  • workflow_dispatch with a tag input, matching crates-release.yml.
  • The release id is looked up from the tag rather than read off github.event.release.id, which is empty on a dispatch. One code path serves both triggers, instead of a second path that only ever gets exercised during an emergency.
  • Publishing is already idempotent, so re-dispatching an already-published version is a no-op rather than a failure.
gh workflow run npm-release.yml -f tag=v1.2.6

Context

deckfile 1.2.6 reached crates.io via exactly this recovery route. npm is still on 1.2.4, so it's missing the PIF license metadata and the * N header fix — this is what unblocks getting it there.

Promoting v1.2.6 out of prerelease fired no workflow run, so the npm publish
never happened while the crates one did. The release event is not a reliable
trigger, and npm-release had no other way in — the only recovery was editing the
release again and hoping.

Adds workflow_dispatch with a tag input. Publishing is already idempotent, so a
re-dispatch of an published version is a no-op rather than a failure.

The release id is now looked up from the tag instead of read off
github.event.release.id, which is empty on a dispatch. One code path serves both
triggers rather than a second one that only gets exercised in an emergency.
@spacedevin
spacedevin merged commit 5ccb400 into main Aug 4, 2026
5 checks passed
@spacedevin
spacedevin deleted the feat/npm-release-dispatch branch August 4, 2026 00:05
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