feat: link local Crystal packages for integration testing#3
Closed
Zetazzz wants to merge 1 commit into
Closed
Conversation
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
3 tasks
Add pnpm overrides to link all Crystal packages from local repo at /home/ubuntu/repos/crystal. This enables: 1. Full-stack stress testing with new Crystal (PgExecutor prepareSql gateway) 2. Ready for seamless transition when Crystal PR #5 is published Type casts added for @types/pg and @types/express version mismatches between Constructive (8.18.0, 5.1.0) and Crystal (8.15.6, 4.x). These casts can be removed once Crystal publishes with aligned types. Stress test results (new Constructive + new Crystal): - 5 tenants × 3 endpoints, 4 workers, 10s pressure - 5 MISS / 10 HITs, 1 template, 0 errors - ~9.8K QPS, p50=0ms, p99=1ms - 8.8 MB less heap vs dedicated Co-Authored-By: 甄陟 <zetazz@163.com>
466a8aa to
f7fb6b3
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
Links all Crystal packages from the local repo (
/home/ubuntu/repos/crystal) into Constructive via pnpm overrides. This enables full-stack integration testing with the new Crystal (PgExecutorprepareSqlgateway, centralizedsqlTextTransform) before Crystal PR #5 is published to npm.Changes:
package.json— Added 14 pnpm overrides linking Crystal packages (@dataplan/pg,grafast,grafserv,graphile-build,graphile-build-pg,graphile-utils,postgraphile,graphile-config,pg-sql2,pg-introspection,graphile-export,graphile,tamedevil,@graphile/lru)pnpm-lock.yaml— Updated to resolve linked packagespool as any,handler as any) added in 4 files to handle@types/pg(8.18.0 vs 8.15.6) and@types/express(5.x vs 4.x) version mismatches between repos. These casts can be removed once Crystal publishes with aligned types.When Crystal PR #5 is published:
as anytype casts@dataplan/pgReview & Testing Checklist for Human
Notes
link:paths reference the local dev machine. This PR is for local integration testing and readiness for Crystal publish, not for merging to main.Link to Devin session: https://app.devin.ai/sessions/c52abb35a19b44a4a194786b3a10eeb6
Requested by: @Zetazzz