Skip to content

bootstrap blog post should document how x check has changed and what to do instead #142051

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
jyn514 opened this issue Jun 5, 2025 · 0 comments
Labels
A-bootstrap-stages Area: issues with the meaning of stage numbers A-docs Area: Documentation for any part of the project, including the compiler, standard library, and tools T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

Comments

@jyn514
Copy link
Member

jyn514 commented Jun 5, 2025

Location

https://blog.rust-lang.org/inside-rust/2025/05/29/redesigning-the-initial-bootstrap-sequence/

Summary

x check has changed behavior since #119899. my understanding of the new behavior, as explained to me by @onur-ozkan, is:

  • x check --stage 0 std is a noop (✅ this is already in the post).
  • x check --stage 0 is the same as before, except it skips x check --stage 0 std. (❌ not in the post)
  • x check without arguments is equivalent to x check --stage 0 && x check --stage 1 library. this is very surprising to me and i wish it did not imply the latter command. but if it does imply the latter, we should document that instead of silently changing behavior. (❌ not in the post)

we should also say what people should switch to. i do not think the default behavior (x check without arguments) is good for all use cases; see in particular #141955 and #t-infra/bootstrap > Stage 0 std redesign support thread @ 💬).

i suggest the following docs:

  • if you have modified only std, use x check --stage 1 std --set rust.download-rustc=true
  • if you have modified only compiler, use x check --stage 0 compiler
  • if you have modified neither and are on a tier 1 platform, we recommend only x check --stage 0 compiler. it is very unlikely for checking std to break for a tier 1 platform when the compiler has not been modified.
  • in all other cases, we recommend running both commands in sequence: x check --stage 0 compiler && x check --stage 1 std --set rust.download-rustc=true

cc #t-infra/bootstrap > Stage 0 std redesign support thread @ 💬

@rustbot label T-bootstrap A-bootstrap-stages

@jyn514 jyn514 added the A-docs Area: Documentation for any part of the project, including the compiler, standard library, and tools label Jun 5, 2025
@rustbot rustbot added the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Jun 5, 2025
@rustbot rustbot added T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) A-bootstrap-stages Area: issues with the meaning of stage numbers labels Jun 5, 2025
@onur-ozkan onur-ozkan removed the needs-triage This issue may need triage. Remove it if it has been sufficiently triaged. label Jun 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-bootstrap-stages Area: issues with the meaning of stage numbers A-docs Area: Documentation for any part of the project, including the compiler, standard library, and tools T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)
Projects
None yet
Development

No branches or pull requests

3 participants