-
-
Notifications
You must be signed in to change notification settings - Fork 14.8k
Yarn install isn't actually frozen #154446
Copy link
Copy link
Closed
Labels
A-test-infraArea: test infrastructure (may span bootstrap/compiletest/more)Area: test infrastructure (may span bootstrap/compiletest/more)A-testsuiteArea: The testsuite used to check the correctness of rustcArea: The testsuite used to check the correctness of rustcC-bugCategory: This is a bug.Category: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.Relevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.
Metadata
Metadata
Assignees
Labels
A-test-infraArea: test infrastructure (may span bootstrap/compiletest/more)Area: test infrastructure (may span bootstrap/compiletest/more)A-testsuiteArea: The testsuite used to check the correctness of rustcArea: The testsuite used to check the correctness of rustcC-bugCategory: This is a bug.Category: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)T-rustdocRelevant to the rustdoc team, which will review and decide on the PR/issue.Relevant to the rustdoc team, which will review and decide on the PR/issue.T-rustdoc-frontendRelevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.
Type
Fields
Give feedbackNo fields configured for issues without a type.
Summary
In #148763, we switched to using yarn1 to install JS deps for the rustdoc-gui suite. This was motivated by wanting to ensure packages would be locked. Unfortunatly that's not the case.
Command used
./x test ./tests/rustdoc-gui/go-to-collapsed-elem.gomlExpected behaviour
yarn.lockand./build/host/test/rustdoc-gui/yarn.lockhave the same contents.Actual behaviour
They don't.
We use
yarn install --frozenrust/src/build_helper/src/npm.rs
Lines 19 to 22 in 23903d0
But that's not the right flag, it should be
--frozen-lockfile.For some reason, by default, yarn doesn't do a frozen install. And it doesn't error on unknown flags, so it'll silently ignore the lockfile:
If use the right flag here, yarn errors that the lockfile needs updating (for unclear reasons):
Bootstrap configuration (bootstrap.toml)
Operating system
Ubuntu 24.04.3 LTS
HEAD
212ef77
Additional context
CC @lolbinarycat @yotamofek . The right solution is probably to update the lockfile to something installable, then to use the
--frozen-lockfileflag (and maybe add a sanity check that the lockfile hasn't changed)