test(npm): run the pack smoke through bun as well as npm - #52
Merged
Merged
Conversation
pack-smoke.sh proved the tarball install only under npm, so a wrapper change that broke bun (bin linking, optionalDependency os/cpu filtering, or the wrapper under bun's own runtime) would pass CI and fail for a bunx user. The script now takes the managers to exercise as arguments — default npm, CI passes `npm bun` — builds and packs once, and installs into a fresh project per manager with lifecycle scripts disabled. A manager that is asked for but not installed fails the run rather than being skipped. The bun leg also runs the wrapper with `bun --bun`, since bun's node-API layer can break independently of its installer. package.json is written by hand instead of `npm init`/`bun init` so the script still touches no registry.
Contributor
|
tnx! good work |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
Closes the follow-up named in #51:
npm/test/pack-smoke.shexercised npm only, soa wrapper change that only broke bun would pass CI and fail for a
bunxuser.pack-smoke.shtakes the managers to exercise as arguments (defaultnpm; CIpasses
npm bun). It builds and packs once, then installs into a fresh projectper manager with lifecycle scripts disabled. A manager that is asked for but not
installed fails the run instead of being skipped.
bun --bun, since bun's node-API layer(spawn, signals) can break independently of its installer.
oven-sh/setup-bun(SHA-pinned,1.x) in the npm job; the smoke step nowruns
npm bun.Still no registry, no publish, no lifecycle scripts.
Verification
windows/amd64, node 24, bun 1.3.13, base
08882b5:pack-smoke.sh nosuchpmexits 1 before building; a barepack-smoke.shisunchanged (npm only).
node --test npm/test/andscripts/gate.shgreen.Checklist
scripts/gate.shpasses (builds HEAD, not just the working tree)model.Context/--jsonchange, no new finding.