fix(deps): resolve @percolatorct/sdk from a pinned git tarball, not a local sibling path (#232) - #238
fix(deps): resolve @percolatorct/sdk from a pinned git tarball, not a local sibling path (#232)#238dcccrypto wants to merge 2 commits into
Conversation
… local sibling path (#232) package.json declared `@percolatorct/sdk` as `file:../../percolator-sdk`, which only resolves on a machine that happens to have the SDK checked out two levels up. Every clean checkout — GitHub Actions, Vercel, and the Docker build context — fails at install: ENOENT: no such file or directory, scandir '<root>/percolator-sdk' exit 254 Pin it to the same commit the SDK's origin/main ships (673bc47, v3.0.0), using the git-tarball form already used for @percolator/shared on the line above. The SDK repo is public and commits its dist/, so no npm publish and no extra checkout step is required. This also drops the transitive file: path that @percolatorct/shared carried, so the lockfile now has zero local-path references. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughThe package manifest pins ChangesSDK compatibility
Estimated code review effort: 2 (Simple) | ~10 minutes Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
CI result on first run — exactly as predicted, with one bonus.
No So this PR is red on its own and that is expected. Suggested sequencing:
The two PRs touch disjoint files and will not conflict. Once both are in, the |
CI failure here is a real SDK bug, not a defect in this PR
Root cause is upstream — percolator-sdk's committed
SDK commit #326 flipped the flag in This PR resolves the SDK from a git tarball, which is what real git-dep consumers get — so it Blocked on percolator-sdk#356. Once |
…gram ID Pinning @percolatorct/sdk to a git tarball (this PR) fixed `pnpm install`, but surfaced two real test failures: the v17 SDK fails closed and *throws* from getProgramId()/getMatcherProgramId() while V17_PROGRAMS_DEPLOYED === false, rather than handing back a legacy address that cannot decode v17 instruction payloads. Assert whichever half of that contract is live so the smoke test stays honest across the Phase 7 cutover. Ported from #233, which fixed the same two tests behind a CI sibling-checkout workaround that the tarball pin makes unnecessary. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Pushed Pinning the SDK to a git tarball fixed This makes #238 a complete fix for #232 on its own, and supersedes #233 — the tarball pin removes the need for that PR's CI sibling-checkout workaround ( Note for the other open API PRs (#237, #236, #235, #231): they fail on the same |
Addresses #232 at the dependency level, and as a consequence also #234 (Docker) and the permanently-red Vercel check on every api PR.
Problem
package.jsononmaindeclares:That only resolves on a machine that happens to have the SDK checked out two levels up. Every clean checkout fails at install, before a single test runs:
This bites in three places, not one:
build-and-testdpl_FEKrAtDVDs3g3TH7CN78x9GVw4QH, same error atpnpm install#234)COPYs onlypackage.json+ lockfiles, so the sibling can never be in the build contextFix
Pin the SDK to a git tarball at the same commit its
origin/mainships (673bc47, v3.0.0) — the exact form already used for@percolator/sharedon the line directly above:dcccrypto/percolator-sdkis public and commits itsdist/, so this needs no npm publish, no lockfile regeneration on a special machine, and no extra checkout step.Regenerating the lockfile also cleared the transitive
file:path that@percolatorct/sharedwas carrying. The lockfile now has zero local-path references (the one remainingfile:hit is the unrelatedexcludeLinksFromLockfile:setting key).Diff is 2 files:
package.json(1 line) andpnpm-lock.yaml.Verification
Run in a scratch tree shaped exactly like the runner (
work/percolator-api/percolator-api) with no sibling SDK present:Those 2 failures are pre-existing and not caused by this change — they are the same two
tests/sdk-smoke.test.tscases #233 reports and fixes. Identical counts to #233 (293 passed, 2 failed), because this pins the same SDK revision #233 checks out (ref: main==673bc47).Docker is fixed by construction (no local path left for
--frozen-lockfileto chase) but I could not rundocker buildto prove it — no Docker daemon on this machine. Worth confirming in CI.Relationship to #233
Complementary, not competing — they touch disjoint files and will not conflict.
.github/workflows/ci.yml+tests/sdk-smoke.test.tspackage.json+pnpm-lock.yaml#233's test fix is still needed — it is what makes
pnpm testgreen, and this PR does not duplicate it.#233's
ci.ymlsibling-checkout steps become unnecessary once this merges, and they only ever fixed Actions — not Vercel, not Docker. Suggest dropping that hunk from #233 (or in a follow-up) and keeping its test fix. Merging both as-is is harmless, just dead weight in the workflow.Not fixed here
Several api PRs (#231, #224, #194, …) fail Vercel with
Authorization required to deployrather than a build error — their Vercel builds never ran at all. That is a GitHub↔Vercel contributor-authorization gate and needs a human on the Vercel team to approve. Unrelated to this change.🤖 Generated with Claude Code
Summary by CodeRabbit