Keep the installed-package smoke on embedded storage despite ambient CI variables - #48
Merged
Merged
Conversation
…CI variables The release job exports FALKORDB_HOST and FALKORDB_PORT for its external lanes, and the smoke inherited them, silently flipping both installed binaries to remote storage while the assertion counted embedded sockets. The smoke now pins the embedded driver on capable platforms and scrubs the ambient variables, keeping the exact one-socket ownership assertion. A symlink-launch regression also guards the direct-execution path check that macOS path aliasing could defeat. The ownership lease itself held 120 simultaneous cold-boot stress iterations without a single violation. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
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.
What changed
The bootstrap release run failed twice at "concurrent binaries did not share exactly one embedded server socket". Root cause (proven with the pinned CI service image and the exact job environment): the Validate job exports FALKORDB_HOST/PORT for its external-storage lanes, the smoke passed the ambient environment into both installed binaries, and driver selection prefers a remote host whenever those are set, so both processes used the CI's remote FalkorDB and the embedded-socket count was deterministically zero. Not an ownership bug: a 60-iteration simultaneous cold-boot stress harness before and after the fix (120 total) showed exactly one lease, one socket, and one server every time, with both binaries winning the race at different times (58/2 split).
The smoke now resolves platform embedded-capability with the same rules as the graph client, pins CODEGRAPH_DRIVER=falkordblite, and strips inherited FALKORDB_* variables on embedded-capable platforms, keeping the one-socket assertion fully active; external-only platforms keep their external path without a false embedded claim. Also fixed: the script's direct-execution guard now canonicalizes paths with realpathSync (a macOS /var vs /private/var alias could make the copied smoke silently not execute), covered by a symlink-launch process test.
Verification
Red-first on both defects; release-script suite 24/24; embedded ownership integration suite 6/6; typecheck 20/20; forced build 21/21; the exact CI-shaped gate (FALKORDB_HOST/PORT set, service on 16379) now passes end-to-end with the identical tarball SHA a236a1fa9e29db0bbd56d1b6bdcf4ae33d18034d59289a873bd8841f23c95ff6.
🤖 Generated with Claude Code