Skip to content

ci(BE-252): single yellowstone-grpc + rpc-websockets lockfile check#596

Open
LukasDeco wants to merge 2 commits intomasterfrom
lukas/be-252-dlob-grpc-ci-check
Open

ci(BE-252): single yellowstone-grpc + rpc-websockets lockfile check#596
LukasDeco wants to merge 2 commits intomasterfrom
lukas/be-252-dlob-grpc-ci-check

Conversation

@LukasDeco
Copy link
Copy Markdown
Contributor

Summary

Implements BE-252: CI ensures @triton-one/yellowstone-grpc and rpc-websockets resolve to one version each in yarn.lock, so dlob-server cannot drift from @drift-labs/sdk (and nested deps) silently.

Changes

  • scripts/check-unique-yarn-versions.js — parses Yarn v1 yarn.lock top-level entries and fails if more than one resolved semver exists per watched package. Supports YARN_LOCK_PATH for tests.
  • yarn check:grpc-deps — runs the script.
  • Resolutions@drift-labs/sdk@2.161.0-beta.1, @triton-one/yellowstone-grpc@5.0.4, rpc-websockets@9.3.2 (matches current SDK; dedupes the old @drift-labs/commonsdk@^2.155 path that pulled yellowstone 1.4.1 and rpc-websockets 7.x).
  • packageManager: yarn@1.22.22 — Corepack uses classic Yarn consistently with the existing v1 lockfile.
  • .github/workflows/ci.yml — on PR + master/staging: yarn install --frozen-lockfile, check:grpc-deps, fixture step (expects exit 1 on scripts/fixtures/yarn-lock-dup-yellowstone.lock), yarn build.
  • deploy-on-drift-common-update.ymlcorepack enable; after install and any yarn add, run check:grpc-deps then build.

Proving the check fails when it should

CI runs a fixture lockfile with two yellowstone versions and asserts the checker exits 1. To reproduce manually: YARN_LOCK_PATH=scripts/fixtures/yarn-lock-dup-yellowstone.lock yarn check:grpc-deps.

Optional manual drill: temporarily bump @triton-one/yellowstone-grpc in package.json away from the SDK without updating resolutions — yarn install should produce a duplicate in yarn.lock and yarn check:grpc-deps should fail.

Made with Cursor

- Add scripts/check-unique-yarn-versions.js for Yarn v1 lockfile analysis
- Pin @drift-labs/sdk, @triton-one/yellowstone-grpc (5.0.4), rpc-websockets (9.3.2) via resolutions
- Align direct yellowstone-grpc with @drift-labs/sdk 2.161.0-beta.1
- Add packageManager yarn@1.22.22 for Corepack consistency with classic lockfile
- New CI workflow: install, check, fixture negative test, build
- Run check after install in sdk/common bump workflow; enable Corepack there

Made-with: Cursor
@LukasDeco LukasDeco force-pushed the lukas/be-252-dlob-grpc-ci-check branch from 965a834 to 25a939c Compare April 1, 2026 03:16
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