Skip to content

Create dist-pack before packing into it - #12

Merged
lightningpixel merged 1 commit into
mainfrom
fix/release-pack-destination
Aug 9, 2026
Merged

Create dist-pack before packing into it#12
lightningpixel merged 1 commit into
mainfrom
fix/release-pack-destination

Conversation

@lightningpixel

Copy link
Copy Markdown
Owner

The v0.2.0 release failed at the pack step:

npm error enoent ENOENT: no such file or directory,
open '/home/runner/work/orvix/orvix/dist-pack/orvix-0.2.0.tgz'

npm pack --pack-destination writes into the directory but does not create it, and a fresh runner has no dist-pack. Reproduced in an empty directory:

$ npm pack --pack-destination dist-pack
npm error enoent ENOENT: no such file or directory, open '…/dist-pack/…tgz'

$ mkdir -p dist-pack && npm pack --pack-destination dist-pack
…-1.0.0.tgz

Why nothing caught it

The release workflow had never run — 0.1.0 was never tagged, and there are no releases on the repository. This line had simply never executed.

ci.yml packs too, but into /tmp, which always exists. That is why the packaged install job has been green all along while the release path was broken.

After merging

The v0.2.0 tag is already pushed and points at a commit without this fix, so re-running the failed job would fail the same way. The tag has to move:

git checkout main && git pull
git tag -d v0.2.0
git push origin :refs/tags/v0.2.0
git tag v0.2.0
git push origin v0.2.0

package.json is already at 0.2.0 on main, so npm version must not be run again — the tag-matches-package.json check would still pass, but the version would be bumped twice.

The v0.2.0 release failed here:

  npm error enoent ENOENT: no such file or directory,
  open '/home/runner/work/orvix/orvix/dist-pack/orvix-0.2.0.tgz'

`npm pack --pack-destination` writes into the directory but does not create
it, and a fresh runner has no dist-pack. Reproducible anywhere with an empty
directory; it passed locally only because the destination happened to exist.

The workflow had never run before — 0.1.0 was never tagged — so nothing had
exercised this line. ci.yml packs into /tmp, which always exists, which is why
the packaged-install job kept passing and hid the gap.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@lightningpixel
lightningpixel merged commit cb7e5f6 into main Aug 9, 2026
11 checks passed
@lightningpixel
lightningpixel deleted the fix/release-pack-destination branch August 9, 2026 16:52
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