about summary refs log tree commit diff
path: root/src/bootstrap
AgeCommit message (Collapse)AuthorLines
2024-11-26don't pass every test arg to test-float-parseonur-ozkan-6/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-25use ReadCache for archive loadingHenry Jiang-8/+8
2024-11-25generate-copyright: Use license-metadata.json from git.Jonathan Pallant-2/+1
2024-11-25collect-license-metadata: move JSON to root, and add a 'check' modeJonathan Pallant-2/+34
2024-11-24Auto merge of #133068 - jieyouxu:download-rustc-default-only-for-tools, ↵bors-5/+61
r=clubby789 Use `download-rustc=false` global default, `if-unchanged` for tools and library profiles, and make `rust.debug-assertions=true` inhibit downloading CI rustc - Use `download-rustc = false` as global default. - Use `download-rustc = 'if-unchanged'` for tools and library profiles. - Make `rust.debug-assertions = true` inhibit downloading CI rustc because alt rustc builds do not yet have rustc debug assertions enabled. Fixes #133132. cc discussions: https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/Bootstrap.20breakage compiler contributors poll: https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/.60download-rustc.20.3D.20'if-unchanged'.60.20for.20.60compiler.60.20profile.3F/near/481877253 library contributors poll: https://rust-lang.zulipchat.com/#narrow/channel/219381-t-libs/topic/.60download-rustc.20.3D.20.22if-unchanged.22.60.20default.20for.20libs.20profile.3F/near/482607011 cc https://rust-lang.zulipchat.com/#narrow/channel/326414-t-infra.2Fbootstrap/topic/When.20is.20rustc.20built.20with.20debug.20assertions.3F cc `@MarcoIeni` since you're working on improving CI job times, sorry, this will definitely regress some CI job times because we're probably lying to ourselves that CI rustc had debug assertions for some time 😅 cc `@onur-ozkan` for FYI, but since you're on vacation (sorry for the ping), r? `@Kobzol` (I *think* you have a bit more context than other bootstrap reviewers?)
2024-11-23Vendor `trpl` crate so The Book tests work offlineChris Krycho-0/+1
Without this change: $ ./x test --set build.vendor=true src/doc/book # (lots of output) error: failed to select a version for the requirement `futures = "^0.3"` (locked to 0.3.30) candidate versions found which didn't match: 0.3.31, 0.3.27 location searched: directory source `/Users/chris/dev/rust-lang/rust/vendor` (which is replacing registry `crates-io`) required by package `trpl v0.2.0 (/Users/chris/dev/rust-lang/rust/src/doc/book/packages/trpl)` perhaps a crate was updated and forgotten to be re-vendored? Build completed unsuccessfully in 0:01:19 With this change: $ ./x test --set build.vendor=true src/doc/book # (lots of build output) Testing stage1 mdbook src/doc/book (aarch64-apple-darwin) finished in 86.949 seconds Build completed successfully in 0:04:05 # Conflicts: # src/bootstrap/src/core/build_steps/vendor.rs
2024-11-23bootstrap: add change tracker entryJieyou Xu-0/+5
2024-11-23Update bootstrap tests to support book dependenciesChris Krycho-1/+66
Since TRPL now depends on a `trpl` crate, the test needs to be able to build that crate to run mdbook against it, and also to invoke mdbook with `--library-path` in that case. Use the support for that flag added to `rustbook` in the previous change to invoke it with the path to the dependencies it will need to run `rustdoc` tests which reference `trpl`. Co-authored-by: Onur Özkan <onurozkan.dev@outlook.com>
2024-11-23bootstrap: make `rust.debug-assertions = true` inhibit downloading CI rustcJieyou Xu-4/+42
Warn if `rust.download-rustc = true` is used with `rust.debug-assertions` as alt CI rustc is not currently built with debug assertions (not to be confused with LLVM assertions).
2024-11-23bootstrap: revert `rust.download-rustc` global default to `false`Jieyou Xu-3/+16
And only default library and tools profile to `rust.download-rustc = "if-unchanged"`.
2024-11-23Auto merge of #132994 - clubby789:cc-bisect, r=Kobzolbors-158/+174
Update `cc` + bump bootstrap deps https://github.com/rust-lang/rust/pull/132556#issuecomment-2471741435 note: The compiler/library/tools cc bumps have been tested with a try job, the bootstrap changes have not
2024-11-22Rollup merge of #133215 - ehuss:fix-vendor-rustc-perf, r=kobzolMichael Goulet-22/+27
Fix missing submodule in `./x vendor` The `src/tools/rustc-perf` submodule is needed for vendoring because it is included in the vendor set. To test this: 1. Get a fresh clone of `rust-lang/rust` 2. `./x vendor`
2024-11-22Rollup merge of #133208 - ferrocene:split-copyright-html, r=KobzolMichael Goulet-1/+2
generate-copyright: Now generates a library file too. We only run reuse once, so the output has to be filtered to find only the files that are relevant to the library tree. Outputs COPYRIGHT.html and COPYRIGHT-library.html. The license-metadata.json file is also now in the tree. We need a CI tool to check that it's correct. r? kobzol Remaining steps: * [ ] Teach CI to double-check the license-metadata.json file is correct * [ ] Add the COPYRIGHT.html and COPYRIGHT-license.html to the releases
2024-11-21Keep list of submodules close to list of vendored workspacesEric Huss-24/+27
This moves the list of submodules needed to vendor close to the list of cargo workspaces with the intent to help ensure they keep up-to-date and in sync.
2024-11-21aix: fix archive formatHenry Jiang-15/+31
fmt fix cfg for windows remove unused imports address comments update libc to 0.2.164 fmt remove unused imports
2024-11-21generate-copyright: Now generates a library file too.Jonathan Pallant-1/+2
We only run reuse once, so the output has to be filtered to find only the files that are relevant to the library tree. Outputs build/COPYRIGHT.html and build/COPYRIGHT-library.html.
2024-11-19Fix missing submodule in `./x vendor`Eric Huss-1/+3
The `src/tools/rustc-perf` submodule is needed for vendoring because it is included in the vendor set.
2024-11-19Register change infoJieyou Xu-0/+5
2024-11-19Default-enable `llvm_tools_enabled` when no `config.toml` is presentJieyou Xu-0/+4
2024-11-13Bump bootstrap depsclubby789-34/+34
2024-11-13Update bootstrap `cc`clubby789-124/+140
2024-11-13don't pass every test arg to cg_clifonur-ozkan-1/+0
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-13fix clippy warns on windows (not checked by CI)klensy-1/+3
2024-11-13fix testsklensy-11/+13
2024-11-13define all the clippy lints we check in CI in a stepPietro Albini-0/+69
2024-11-13store the lint levels in the clippy structs themselvesPietro Albini-20/+40
2024-11-13disable precompiled rustc for "library" and "compiler" profilesonur-ozkan-0/+2
There is an ongoing discussion about this on Zulip and for now we want to keep these disabled. Zulip thread: https://rust-lang.zulipchat.com/#narrow/channel/131828-t-compiler/topic/.60download-rustc.20.3D.20'if-unchanged'.60.20for.20.60compiler.60.20profile.3F Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-13handle channel info before handling git infoonur-ozkan-6/+9
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-13Reapply "Rollup merge of #132772 - onur-ozkan:download-rustc-default, ↵onur-ozkan-31/+34
r=jieyouxu" This reverts commit c0cee4e36b5f0964bdeb2ac12cfd9002addb51cc.
2024-11-12Auto merge of #132954 - matthiaskrgr:rollup-x3rww9h, r=matthiaskrgrbors-23/+57
Rollup of 7 pull requests Successful merges: - #131831 (extend the "if-unchanged" logic for compiler builds) - #132541 (Proper support for cross-crate recursive const stability checks) - #132657 (AIX: add run-make support) - #132901 (Warn about invalid `mir-enable-passes` pass names) - #132923 (Triagebot: Consolidate the T-compiler ad hoc assignment groups) - #132938 (Make precise capturing suggestion machine-applicable only if it has no APITs) - #132947 (clarify `must_produce_diag` ICE for debugging) r? `@ghost` `@rustbot` modify labels: rollup
2024-11-12Rollup merge of #131831 - onur-ozkan:improve-rustc-if-unchanged-logic, ↵Matthias Krüger-23/+57
r=Mark-Simulacrum extend the "if-unchanged" logic for compiler builds Implements the first item from [this tracking issue](https://github.com/rust-lang/rust/issues/131744). In short, we want to make "if-unchanged" logic to check for changes outside of certain allowed directories, and this PR implements that. See https://github.com/rust-lang/rust/issues/131658 for more context.
2024-11-12Auto merge of #132282 - Noratrieb:it-is-the-end-of-serial, r=cjgillotbors-19/+13
Delete the `cfg(not(parallel))` serial compiler Since it's inception a long time ago, the parallel compiler and its cfgs have been a maintenance burden. This was a necessary evil the allow iteration while not degrading performance because of synchronization overhead. But this time is over. Thanks to the amazing work by the parallel working group (and the dyn sync crimes), the parallel compiler has now been fast enough to be shipped by default in nightly for quite a while now. Stable and beta have still been on the serial compiler, because they can't use `-Zthreads` anyways. But this is quite suboptimal: - the maintenance burden still sucks - we're not testing the serial compiler in nightly Because of these reasons, it's time to end it. The serial compiler has served us well in the years since it was split from the parallel one, but it's over now. Let the knight slay one head of the two-headed dragon! #113349 Note that the default is still 1 thread, as more than 1 thread is still fairly broken. cc `@onur-ozkan` to see if i did the bootstrap field removal correctly, `@SparrowLii` on the sync parts
2024-11-12Delete the `cfg(not(parallel))` serial compilerNoratrieb-19/+13
Since it's inception a long time ago, the parallel compiler and its cfgs have been a maintenance burden. This was a necessary evil the allow iteration while not degrading performance because of synchronization overhead. But this time is over. Thanks to the amazing work by the parallel working group (and the dyn sync crimes), the parallel compiler has now been fast enough to be shipped by default in nightly for quite a while now. Stable and beta have still been on the serial compiler, because they can't use `-Zthreads` anyways. But this is quite suboptimal: - the maintenance burden still sucks - we're not testing the serial compiler in nightly Because of these reasons, it's time to end it. The serial compiler has served us well in the years since it was split from the parallel one, but it's over now. Let the knight slay one head of the two-headed dragon!
2024-11-12Rollup merge of #132771 - ↵Matthias Krüger-0/+47
ismailarilik:test/configure/cover-parse-args-in-src-bootstrap-configure-py, r=onur-ozkan test(configure): cover `parse_args` in `src/bootstrap/configure.py` I was reading `src/bootstrap/configure.py` and `parse_args` function there seems complex. So I added some tests to cover it and prevent regressions.
2024-11-12test(configure): cover `parse_args` in `src/bootstrap/configure.py`ismailarilik-0/+47
2024-11-11Auto merge of #132902 - matthiaskrgr:rollup-43qgg3t, r=matthiaskrgrbors-1/+18
Rollup of 4 pull requests Successful merges: - #129627 (Ensure that tail expr receive lifetime extension) - #130999 (Implement file_lock feature) - #132873 (handle separate prefixes in clippy rules) - #132891 (Remove `rustc_session::config::rustc_short_optgroups`) r? `@ghost` `@rustbot` modify labels: rollup
2024-11-11Auto merge of #132720 - jieyouxu:do-not-strip, r=davidtwcobors-3/+7
Only copy, rename and link `llvm-objcopy` if llvm tools are enabled Fixes #132719. cc `@bjorn3` who reported the bootstrapping problem for cg_clif. cc `@davidtwco` in case this might be problematic for linux -> macOS cross-compile builds, but seems very unlikely. cc `@albertlarsan68` (co-reviewed #131405) r? bootstrap
2024-11-11move `src/tools/build_helper` into `src/build_helper`onur-ozkan-5/+5
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-11reduce `RUSTC_IF_UNCHANGED_ALLOWED_PATHS` significantlyonur-ozkan-33/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-10warn about "src/bootstrap" on `RUSTC_IF_UNCHANGED_ALLOWED_PATHS`onur-ozkan-0/+2
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-10add test coverage for `RUSTC_IF_UNCHANGED_ALLOWED_PATHS`onur-ozkan-2/+17
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-10use allowed "if-unchanged" logic for compiler buildsonur-ozkan-17/+65
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-10add test coverage for separate clippy prefixesonur-ozkan-0/+17
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-10handle separate prefixes in clippy argsonur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-10Revert "Rollup merge of #132772 - onur-ozkan:download-rustc-default, r=jieyouxu"Jieyou Xu-35/+32
This reverts commit c435fa8c4b55f0f8ef8e2e839ce7de960613267e, reversing changes made to 88acd493f9dbbc8228db2b123c9b4132a995de92. Seems to have unintentionally omitted commit hash leading to <https://github.com/rust-lang/rust/pull/132772>.
2024-11-09Rollup merge of #132772 - onur-ozkan:download-rustc-default, r=jieyouxuMatthias Krüger-32/+35
use `download-rustc="if-unchanged"` as a global default If `download-rustc` isn't explicitly set and the source is Git-managed, it should be totally okay to utilize "if-unchanged" behaviour. The "dist" profile already sets `download-rustc` to `false`, so this shouldn’t impact anything on CI. This also resolves an unhandled case where `bootstrap` unexpectedly panics if `"if-unchanged"` was used with a non-Git source. Now we exits gracefully with an error message pointing the problem.
2024-11-09improve initial target libdir finding logiconur-ozkan-42/+15
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-08refactor initial-sysroot handlingonur-ozkan-12/+9
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-08fix `core::config::tests::override_toml`onur-ozkan-0/+3
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-11-08respect to global `download-rustc` default in non-dist profilesonur-ozkan-8/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>