fix(kv-store): alphabetize devDependencies to keep yarn install idempotent#23112
Draft
AztecBot wants to merge 1 commit intomerge-train/fairiesfrom
Draft
fix(kv-store): alphabetize devDependencies to keep yarn install idempotent#23112AztecBot wants to merge 1 commit intomerge-train/fairiesfrom
AztecBot wants to merge 1 commit intomerge-train/fairiesfrom
Conversation
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.
Why
Tests on
merge-train/fairieswere failing withSyntaxError: The requested module '@aztec/pxe/server' does not provide an export named 'composeHooks'(CI log: http://ci.aztec-labs.com/1778267162880855), even though thecomposeHooksexport was correctly added in #23064 and present in source.Root cause
yarn-project/kv-store/package.jsonhad unsorteddevDependencies(left over from #23096).yarn install --immutablereorders them in-place during CI bootstrap, modifying the tracked file mid-run. This trips a chain reaction:cache_content_hashsees the dirty file viagit diff --name-onlyand exits 1 with"ERROR: Noticed changes to rebuild patterns during CI run".yarn-project/bootstrap.sh'shashfunction, the$(cache_content_hash …)substitution silently captures empty stdout (thelocal hash=$(hash)Bash idiom masks the non-zero exit).hash_str <noir> <bb> ""— independent of yarn-project content. Every run hits the same poisoned cache key, populated by an older build that pre-datescomposeHooks.pxe/dest/entrypoints/server/index.jsships withoutcomposeHooks, and Node ESM static linking fails whentxe_oracle_top_level_context.tsimports it.Fix
Alphabetize the
devDependenciesblock. This is the order yarn produces on its own — committing it ahead of time means the install no longer modifies the working tree, no spurious rebuild_patterns diff, and the proper content-addressed cache key is used. Verified locally:yarn install --immutableis now idempotent (no working-tree changes).A follow-up should harden
cache_content_hashand thehashfunction so that an exit 1 in CI cannot silently turn into an empty hash component, but that is a separate infrastructure change.ClaudeBox log: https://claudebox.work/s/598e12a1cadb1745?run=1