ci(BE-252): single yellowstone-grpc + rpc-websockets lockfile check#596
Open
ci(BE-252): single yellowstone-grpc + rpc-websockets lockfile check#596
Conversation
66c6056 to
965a834
Compare
- 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
965a834 to
25a939c
Compare
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
Implements BE-252: CI ensures
@triton-one/yellowstone-grpcandrpc-websocketsresolve to one version each inyarn.lock, so dlob-server cannot drift from@drift-labs/sdk(and nested deps) silently.Changes
scripts/check-unique-yarn-versions.js— parses Yarn v1yarn.locktop-level entries and fails if more than one resolved semver exists per watched package. SupportsYARN_LOCK_PATHfor tests.yarn check:grpc-deps— runs the script.@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/common→sdk@^2.155path 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 onscripts/fixtures/yarn-lock-dup-yellowstone.lock),yarn build.deploy-on-drift-common-update.yml—corepack enable; after install and anyyarn add, runcheck:grpc-depsthenbuild.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-grpcinpackage.jsonaway from the SDK without updating resolutions —yarn installshould produce a duplicate inyarn.lockandyarn check:grpc-depsshould fail.Made with Cursor