about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2025-09-05Optimize Cargo with LTOJakub Beránek-2/+4
2025-09-05Fix conditionJakub Beránek-1/+1
2025-09-05Add a comment about the "specialization" feature required because of `im-rc`Jakub Beránek-0/+2
2025-09-05Add snapshot test for disting compiler docsJakub Beránek-1/+53
2025-09-05Respect top stage when documenting CargoJakub Beránek-2/+15
2025-09-05Allow `specialization` feature when documenting CargoJakub Beránek-4/+16
2025-09-05bootstrap: split `run-make` into {`run-make`,`run-make-cargo`} test suitesJieyou Xu-21/+80
So that contributors who don't need to run `run-make` tests that require in-tree `cargo` can run the non-cargo `run-make` tests without having to wait for `cargo` (which would require rebuilding as the build cache would be invalidated by compiler modifications without some kind of `--keep-stage-cargo`).
2025-09-04Rollup merge of #145976 - beepster4096:configure_debugbreak, r=clubby789Matthias Krüger-2/+15
Add bootstrap.toml option to control debug breaking on ICEs on windows When rustc ICEs during bootstrap on Windows, it will call `DebugBreak`. This is intended to trigger a Windows Error Reporting dialog that can launch a debugger. However on some setups (mine for one) this will just abort the process, hiding any ICEs on other threads as well. I also would not want to see this dialog even if it did work for me. This PR adds a new option to bootstrap.toml `rust.break-on-ice` to configure this behavior. By default, it is enabled, matching the existing behavior.
2025-09-04Document Cargo with in-tree rustdocJakub Beránek-24/+63
2025-09-04Rollup merge of #146168 - dpaoliello:bootstrapdeps, r=jieyouxuJacob Pratt-34/+108
Update bootstrap's dependencies to remove winapi and old windows-sys Bumps `opener` to 0.8 and `junction` to 1.3 - this removes the dependency on `winapi` (unless the `build-metrics` feature is enabled) and replaces the usage of `windows-sys` 0.52 with 0.60. Together this means that bootstrap can now be built for Arm64EC.
2025-09-04Rollup merge of #145682 - dpaoliello:arm64tier1, r=jieyouxuJacob Pratt-1/+1
Promote aarch64-pc-windows-msvc to Tier 1 Per <https://github.com/rust-lang/rfcs/pull/3817> Tracking issue: <https://github.com/rust-lang/rust/issues/145671>
2025-09-04Rollup merge of #146155 - Shourya742:2025-09-03-make-test-run-parallel, r=KobzolStuart Cook-45/+25
Make bootstrap self test parallel This PR refactors the bootstrap self test: 1. Replaced the hardcoded --test-threads=1 with std::thread::available_parallelism(), allowing tests to run with the maximum concurrency supported by the system. 2. Replaced custom hacks around OUT_DIR with TempDir and introduced TestCtx to simplify configuration setup. r? `@Kobzol`
2025-09-04Rollup merge of #146127 - Kobzol:rename-tool-rustc, r=jieyouxuStuart Cook-58/+69
Rename `ToolRustc` to `ToolRustcPrivate` I think that this name gets the point across much better. r? ````@jieyouxu````
2025-09-04Rollup merge of #146124 - Kobzol:distcheck-ext, r=jieyouxuStuart Cook-62/+99
Test `rustc-dev` in `distcheck` Adds a new `distcheck` test component. Fixes: https://github.com/rust-lang/rust/issues/138646 r? ``@jieyouxu`` try-job: x86_64-gnu-distcheck
2025-09-04fix: offline rustdoc html missing faviconKumar Ujjawal-0/+25
2025-09-03Reduce bootstrap's dependenciesDaniel Paoliello-34/+108
2025-09-03Check `rustc-dev` in `distcheck`Jakub Beránek-18/+50
2025-09-03Rollup merge of #145944 - alexcrichton:native-wasip2, r=tgross35Stuart Cook-0/+10
std: Start supporting WASIp2 natively This commit is the start of an effort to support WASIp2 natively in the standard library. Before this commit the `wasm32-wasip2` target behaved exactly like `wasm32-wasip1` target by importing APIs from the core wasm module `wasi_snapshot_preview1`. These APIs are satisfied by the `wasm-component-ld` target by using an [adapter] which implements WASIp1 in terms of WASIp2. This adapter comes at a cost, however, in terms of runtime indirection and instantiation cost, so ideally the adapter would be removed entirely. The purpose of this adapter was to provide a smoother on-ramp from WASIp1 to WASIp2 when it was originally created. The `wasm32-wasip2` target has been around for long enough now that it's much more established. Additionally the only thing historically blocking using WASIp2 directly was implementation effort. Work is now underway to migrate wasi-libc itself to using WASIp2 directly and now seems as good a time as any to migrate the Rust standard library too. Implementation-wise the milestones here are: * The `wasm32-wasip2` target now also depends on the `wasi` crate at version 0.14.* in addition to the preexisting dependency of 0.11.*. The 0.14.* release series binds WASIp2 APIs instead of WASIp1 APIs. * Some preexisting naming around `mod wasi` or `wasi.rs` was renamed to `wasip1` where appropriate. For example `std::sys::pal::wasi` is now called `std::sys::pal::wasip1`. * More platform-specific WASI modules are now split between WASIp1 and WASIp2. For example getting the current time, randomness, and process arguments now use WASIp2 APIs directly instead of using WASIp1 APIs that require an adapter. It's worth pointing out that this PR does not migrate the entire standard library away from using WASIp1 APIs on the `wasm32-wasip2` target. Everything related to file descriptors and filesystem APIs is still using WASIp1. Migrating that is left for a future PR. In the meantime the goal of this change is to lay the groundwork necessary for migrating in the future. Eventually the goal is to drop the `wasi` 0.11.* dependency on the `wasm32-wasip2` target (the `wasm32-wasip1` target will continue to retain this dependency). [adapter]: https://github.com/bytecodealliance/wasmtime/blob/main/crates/wasi-preview1-component-adapter/README.md
2025-09-03remove thread option from self-test invocationbit-aloo-2/+1
2025-09-03Make test parallelbit-aloo-3/+2
Use std::thread::available_parallelism() instead of hardcoded --test-threads=1 in bootstrap tests.
2025-09-03refactor tests to use TestCtxbit-aloo-42/+24
2025-09-03Split distcheck logic into functionsJakub Beránek-55/+60
2025-09-03Rename `ToolRustc` to `ToolRustcPrivate`Jakub Beránek-58/+69
2025-09-01add rust.break-on-ice to bootstrap.tomlbeepster4096-2/+15
2025-09-01Fix ui-fulldepsJakub Beránek-1/+3
2025-09-01Consolidate staging of test steps in message groupsJakub Beránek-133/+88
2025-09-01Do not run `lint-docs` tests in stage 1 `x test` by defaultJakub Beránek-8/+11
2025-09-01Remove `Compiler::with_stage`Jakub Beránek-6/+1
2025-09-01Rename `compiler` to `test_compiler`Jakub Beránek-47/+54
2025-09-01Add some compiletest suites snapshot testsJakub Beránek-35/+133
2025-09-01Remove outdated commentJakub Beránek-3/+0
2025-09-01Auto merge of #145663 - Kobzol:bootstrap-test, r=jieyouxubors-371/+705
Enforce in bootstrap that test must have stage at least 1 (except for compiletest) This PR cleans up a bunch of test steps and adds metadata to them. I didn't yet touch the most complicated step (`CompileTest`), I'm leaving that for another PR. Testing anything on stage 0 is only possible for compiletest and with `build.allow-compiletest-stage0`. Testing anything else on stage 0 will either produce a nice error or crash with a stage being subtracted below zero. r? `@jieyouxu` try-job: dist-x86_64-linux try-job: aarch64-gnu try-job: arm-android try-job: `x86_64-gnu-llvm-20*` try-job: `x86_64-msvc-*` try-job: aarch64-apple try-job: test-various
2025-08-30Use move_file for rename in tracingMark Rousskov-1/+5
This avoids panicking when the source and destinations are on different filesystems.
2025-08-30Do not run `lint-docs` tests in stage 1 `x test` by defaultJakub Beránek-14/+10
2025-08-30Fix stage 1 compiler testsJakub Beránek-7/+43
2025-08-30Add test stage 2 snapshot testsJakub Beránek-10/+97
2025-08-30Fix tests and doclinkJakub Beránek-10/+10
2025-08-30Fake nodejs in snapshot testJakub Beránek-0/+2
2025-08-30Fix doclinkJakub Beránek-1/+1
2025-08-30Skip bootstrap tests on CIJakub Beránek-1/+5
2025-08-30Add change tracker entryJakub Beránek-0/+5
2025-08-30Fix spacing when testing individual cratesJakub Beránek-6/+11
2025-08-30Fix staging for compiler/std crate testsJakub Beránek-56/+106
2025-08-30Move the `test!` macro closer to its usagesJakub Beránek-70/+70
2025-08-30Add metadata to a bunch of steps, rename variables and add commentsJakub Beránek-28/+102
2025-08-30Small refactoring around `RemoteCopyLibs`Jakub Beránek-10/+14
2025-08-30Remove stage0 checkingJakub Beránek-16/+2
2025-08-30Refactor `test::LintDocs`Jakub Beránek-7/+31
2025-08-30Remove `compiler_for` from `test::CodegenCranelift`Jakub Beránek-49/+35
2025-08-30Remove `compiler_for` from `test::CodegenGCC`Jakub Beránek-51/+31