Skip to content

Conversation

@yotamofek
Copy link
Contributor

@yotamofek yotamofek commented Nov 9, 2025

Building on @lolbinarycat 's excellent work ( #148672 ).

npm apparently has certain edge-cases where it doesn't actually respect the lockfile it's fed, which has led to at least one CI breakage.

yarn seems to not suffer from those same issues, and also has a --frozen flag for its install command

@rustbot rustbot added A-CI Area: Our Github Actions CI A-testsuite Area: The testsuite used to check the correctness of rustc S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. labels Nov 9, 2025
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rustbot rustbot added the T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output. label Nov 9, 2025
@rust-log-analyzer

This comment has been minimized.

@rustbot rustbot added the A-meta Area: Issues & PRs about the rust-lang/rust repository itself label Nov 10, 2025
@rust-log-analyzer

This comment has been minimized.

@yotamofek yotamofek changed the title [DO NOT MERGE] Use yarn Use yarn instead of npm for JS/TS dependencies Nov 12, 2025
@yotamofek yotamofek marked this pull request as ready for review November 12, 2025 19:18
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 12, 2025
@rustbot
Copy link
Collaborator

rustbot commented Nov 12, 2025

This PR modifies src/bootstrap/src/core/config.

If appropriate, please update CONFIG_CHANGE_HISTORY in src/bootstrap/src/utils/change_tracker.rs.

This PR modifies bootstrap.example.toml.

If appropriate, please update CONFIG_CHANGE_HISTORY in src/bootstrap/src/utils/change_tracker.rs.

Some changes occurred in HTML/CSS/JS.

cc @GuillaumeGomez, @jsha, @lolbinarycat

@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Nov 12, 2025
@rustbot
Copy link
Collaborator

rustbot commented Nov 12, 2025

r? @clubby789

rustbot has assigned @clubby789.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@yotamofek
Copy link
Contributor Author

r? @Kobzol since you're already kinda familiar with the situation?

(maybe also @notriddle for the small TS fixes, if you can take a look)

@rustbot rustbot assigned Kobzol and unassigned clubby789 Nov 12, 2025
@rustbot rustbot added the A-tidy Area: The tidy tool label Nov 12, 2025
@rustbot
Copy link
Collaborator

rustbot commented Nov 12, 2025

tidy extra checks were modified.

cc @lolbinarycat

@bors
Copy link
Collaborator

bors commented Nov 13, 2025

☔ The latest upstream changes (presumably #148885) made this pull request unmergeable. Please resolve the merge conflicts.

lolbinarycat and others added 3 commits November 13, 2025 10:06
…rors that started popping when we moved to `yarn`

Updating `es-check` managed to solve a problem about a missing type file for `minimatch` which I couldn't get around any other way
@rustbot
Copy link
Collaborator

rustbot commented Nov 13, 2025

This PR was rebased onto a different main commit. Here's a range-diff highlighting what actually changed.

Rebasing is a normal part of keeping PRs up to date, so no action is needed—this note is just to help reviewers.

@Kobzol
Copy link
Member

Kobzol commented Nov 13, 2025

Since we install yarn using npm anyway (so you need to have node + npm to use yarn), and I assume that it will be more common for people to have npm available locally than having yarn, can we just keep the original npm config and use npm in tidy to install yarn, and then use yarn to install the packages?

@yotamofek
Copy link
Contributor Author

Apparently, nowadays npm is not the recommended way to install yarn either.

Personally, I think it's fine to expect the few folks actually running tidy's JS (extra)checks to install yarn, if that means we can avoid adding more complexity to tidy.

Regardless of what we choose, I should probably try to modify this PR to install yarn via the new recommended way.

@lolbinarycat
Copy link
Contributor

If we want to automatically install yarn, I think we should do a bit of design work.

Ideally, for everything that we download/install automatically, there would also be a bootstrap config option to specify it's path manually, so that everything can be done offline in something like a nix derivation.

Currently it's not a huge deal bc the only thing we're downloading for without a config option is testing, not building, but it would still be nice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

A-CI Area: Our Github Actions CI A-meta Area: Issues & PRs about the rust-lang/rust repository itself A-testsuite Area: The testsuite used to check the correctness of rustc A-tidy Area: The tidy tool S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. T-rustdoc-frontend Relevant to the rustdoc-frontend team, which will review and decide on the web UI/UX output.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants