You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Release publish job passes a bare relative tarball path, which npm reads as a GitHub repo: 2.9.0 never reached npm #2551
The step resolves the downloaded artifact with set -- release-tarball/*.tgz (.github/workflows/main.yml:388) and passes the bare relative path to npm publish. npm reads an argument of the form dir/file as GitHub owner/repo shorthand, so it tried to clone github.com/release-tarball/... over SSH instead of publishing the local file.
This is the package / publish split from #2483 (PR #2506) running for the first time. It could only be exercised by a real release, which is why the v2.9.0 smoke ledger recorded #2483 on proxy evidence.
Fix
Use ./release-tarball/*.tgz. With the ./ prefix, npm treats the argument as a local path. Everything else in the step, including the publishConfig refusal, the name and version re-assertion, and the pinned registry, is unchanged.
Re-release
A release event runs the workflow from the tag's commit, so re-running the failed job would fail the same way. Once this lands on v2/main, merge v2/main into main, then delete the 2.9.0 Release and tag and recreate them at the new main commit with the same notes. npm never received 2.9.0, so the version number stays.
Activity
cliffhall commentedon Sep 30, 2026
Triage: Priority Urgent (total 13)
buglabel, +1 milestoned (v2.9.0), +1 assignedBoard: #28, Status
In Progress.fix(ci): publish the tarball by a ./ path so npm reads it as a file
chore: merge v2/main into main for the v2.9.0 re-release (publish fix m…
docs(release): add the release-notes step and the re-cut procedure
test(release): pin the ./ tarball path npm publish needs
test(release): pin the ./ tarball path npm publish needs