pantry publish --npm exits 1 when npm accepts the upload but confirmPublication doesn't see the version within npm_publish_timeout_ms. In a release workflow, that skips every step after it, so the release binaries and the GitHub Release are never made, even though the version does go live.
Seen: stacksjs/bun-query-builder Releaser run 39184733210 (v0.3.14, 2026-10-19):
01:23:10 Registry: https://registry.npmjs.org
01:25:30 Upload accepted; publication is pending public metadata and verified tarball availability. Do not upload this version again.
##[error]Process completed with exit code 1.bun-query-builder@0.3.14 appeared on npm about a minute later, with the integrity of the tarball that run built. Build Release Binaries and Create GitHub Release were skipped, so v0.3.14 has no GitHub Release. Re-running the workflow would upload again, which the message itself says not to do. npm's lag is often longer than this: Craft releases have waited around 25 minutes.
Where: packages/zig/src/cli/commands/package.zig, the confirmPublication(...) checks around lines 1284 and 1531 (and the OIDC and claimed-version paths at 1158, 1318 and 1557).
What would fix it (any of these, ideally the first two):
- Treat an accepted upload as published, and finish verifying it separately. Exit 0 with a warning when confirmation times out, or give it its own exit code that the action treats as success. Then the steps after it still run.
- Wait longer, with backoff, for npm's metadata (on the order of 10 to 30 minutes, configurable, e.g.
--confirm-timeout), since npm's lag regularly passes 2 minutes. - Add a
pantry publish --verify-only <name>@<version>so a workflow can be re-run without uploading again: it confirms the version is live and the later steps go ahead.