Fix acceptance fixture cold-install after the minimatch override - #10
Merged
Conversation
The fixture cold-install resolves the packed tarball against a stub registry that serves only the versions in the repo lock. Root overrides never apply to dependents, so after the filelist minimatch override the consumer asked for minimatch@^5.0.1, which the lock no longer carries, and the install died with ETARGET. Copy the overrides from the repo manifest into the scratch consumer manifest before the install so its resolution stays inside the stub's catalog. Real consumers hit the public registry, resolve minimatch 5.x normally, and get the vulnerable brace-expansion under filelist; ejs pins jake to 10.x and the patched filelist 2.x only ships with jake 12, so nothing in our manifest can change that.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
WalkthroughAcceptance packaging now propagates repository dependency overrides into consumer manifests. Formatting performance tests now validate linear scaling through workload comparisons instead of fixed timing thresholds. ChangesAcceptance package override propagation
Performance scaling test updates
Estimated code review effort: 2 (Simple) | ~10 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
The two maskUrlUserinfoInText performance tests asserted absolute wall-clock budgets, and a loaded Windows CI runner blew the 1s budget by 27ms. Time a tenth-size run of the same hostile input first, then require the full run to finish within 40x that baseline (floored at 10ms). Linear scaling lands near 10x, quadratic near 100x, so the regression signal survives without the machine-speed dependency.
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.
The Phase 2 release gate caught
test:acceptance:fixturefailing on merged main: the cold-install step resolves the packed tarball against a stub registry built from the repo lock, and the filelist minimatch override (869bcba) moved the lock to minimatch 10.x while a bare consumer still resolvesminimatch@^5.0.1. The stub has no 5.x to serve, so the install failed with ETARGET.The fix mirrors the root
overridesinto the scratch consumer manifest before the install, keeping its resolution inside the stub's catalog. Harness-only change; no product code touched.Context for review: real consumers resolve minimatch 5.x from the public registry and still receive the vulnerable brace-expansion under filelist. That is an upstream dead end (ejs pins jake 10.x; patched filelist 2.x ships only with jake 12) and affects every ejs-based CLI, so the harness should not pretend otherwise for the product tree; it only needs its hermetic install to work.
Verified: typecheck, lint,
test:acceptance:fixturegreen,npm audit --omit=dev --audit-level=highclean.Summary by CodeRabbit