fix(ci): pack the bindings wrapper with pnpm so workspace ranges resolve - #265
Merged
alongubkin merged 1 commit intoJul 30, 2026
Conversation
npm pack copies package.json verbatim, so the qualified bindings tarball ships "@alienplatform/core": "workspace:^" — a protocol npm rejects at install time. The published bindings 3.2.0 already carries it, and the sdk now depends on the bindings package, so every npm install of the sdk fails with EUNSUPPORTEDPROTOCOL until a corrected version ships. Only pnpm rewrites workspace ranges into the released version while packing; the ai-gateway wrapper below packs this way for the same reason.
Greptile SummaryThe PR fixes the bindings release artifact so workspace dependency ranges are converted into npm-compatible versions.
Confidence Score: 5/5The PR appears safe to merge with no actionable defects identified. The filtered pnpm command targets the correct workspace package, writes the same expected tarball name to the existing qualification directory, and ensures workspace dependency ranges are rewritten before publication.
|
| Filename | Overview |
|---|---|
| .github/workflows/release.yml | The bindings qualification step now uses the repository’s established pnpm packing pattern, preserving expected artifacts while resolving workspace: dependencies. |
Reviews (1): Last reviewed commit: "fix(ci): pack the bindings wrapper with ..." | Re-trigger Greptile
alongubkin
deleted the
itamar/alien-412-bindings-wrapper-is-packed-with-npm-publishing-raw-workspace
branch
July 30, 2026 19:14
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.
Summary
The release pipeline packs the
@alienplatform/bindingswrapper withnpm pack, which copiespackage.jsonverbatim — so the published tarball ships"@alienplatform/core": "workspace:^", a protocol npm rejects at install time. Since the sdk depends on the bindings package,npm install @alienplatform/sdkcurrently fails for everyone.Step-by-step flow when a release qualification runs:
qualify-bindingsbuilds the wrapper and injects the exact-versionoptionalDependencies.pnpm --filter @alienplatform/bindings pack, which rewrites everyworkspace:range into the released version —npm packkept them verbatim. ← the fixpublish-bindingslater ships that qualified tarball to npm unchanged, so what qualification packs is exactly what users install.This PR changes the bindings wrapper pack from
npm packtopnpm pack.What was broken
Installing the sdk from npm fails today:
The published bindings 3.2.0 carries the raw
workspace:^dependency on core, and the sdk pulls the bindings package in. Only pnpm rewritesworkspace:ranges while packing; the ai-gateway wrapper a few steps below already packs with pnpm for exactly this reason, comment and all.What I did
pnpm --filter @alienplatform/bindings pack, and copied the ai-gateway job's comment explaining why.npm pack— they have noworkspace:dependencies.Files touched
.github/workflows/release.yml— one step inqualify-bindings.How I tested
npm install @alienplatform/sdk@3.2.0fails withEUNSUPPORTEDPROTOCOL;npm view @alienplatform/bindings@3.2.0 dependenciesshows the rawworkspace:^. The qualified 3.3.0 bindings tarball from the current qualification run carries the same (inspected itspackage.jsonwithtar -xzO).pnpm --filter @alienplatform/bindings packfrom the workspace and inspected the tarball —dependenciescomes out as a real caret range and zeroworkspace:references remain anywhere in the manifest, withdevDependenciesrewritten too. InjectedoptionalDependenciesare plain versions, so packing order is unaffected.