| Age | Commit message (Collapse) | Author | Lines |
|
|
|
Make `x test tidy` less noisy
Before:
```
Building tool tidy (stage0)
Finished release [optimized + debuginfo] target(s) in 0.29s
fmt check
skip untracked path chrome_profiler.json during rustfmt invocations
skip untracked path query_impl-default,args.mm_profdata during rustfmt invocations
skip untracked path query_impl-llvm.txt during rustfmt invocations
skip untracked path query_impl-mono_items.txt during rustfmt invocations
skip untracked path query_impl-summarize.txt during rustfmt invocations
skip untracked path rustc.svg during rustfmt invocations
skip untracked path rustc_middle.mono_items.json during rustfmt invocations
skip untracked path rustc_middle.mono_items.md during rustfmt invocations
skip untracked path rustc_query_impl.mono_items-thread_local_attr.json during rustfmt invocations
skip untracked path rustc_query_impl.mono_items-thread_local_macro.json during rustfmt invocations
skip untracked path rustc_query_impl.mono_items.md during rustfmt invocations
tidy check
Found 505 error codes
Highest error code: `E0793`
* 397 features
Ensuring the YAML anchors in the GitHub Actions config were expanded
Building tool expand-yaml-anchors (stage0)
Finished release [optimized + debuginfo] target(s) in 0.14s
Build completed successfully in 0:00:54
```
After:
```
Building tool tidy (stage0)
Finished release [optimized + debuginfo] target(s) in 2.24s
fmt check
tidy check
Ensuring the YAML anchors in the GitHub Actions config were expanded
Building tool expand-yaml-anchors (stage0)
Finished release [optimized + debuginfo] target(s) in 0.14s
Build completed successfully in 0:00:04
```
|
|
x fmt: Only check modified files locally
Previously, `x fmt` would only format modified files, while `x fmt .` and `x fmt --check` would still look at all files. After this change, `x fmt --check` only looks at modified files locally.
I feel pretty confident in this change - other than https://github.com/rust-lang/rust/issues/106261, no one has reported bugs in `get_modified_rs_files` since it was added in https://github.com/rust-lang/rust/pull/105702.
Combined with the changes in https://github.com/rust-lang/rust/pull/108772, this brings the time for me to run `x t tidy` with a hot FS cache down from 5 to 2 seconds (and moves the majority of the time spent back to `tidy check`, which means it can be sped up more in the future).
|
|
Before:
```
Building tool tidy (stage0)
Finished release [optimized + debuginfo] target(s) in 0.29s
fmt check
skip untracked path chrome_profiler.json during rustfmt invocations
skip untracked path query_impl-default,args.mm_profdata during rustfmt invocations
skip untracked path query_impl-llvm.txt during rustfmt invocations
skip untracked path query_impl-mono_items.txt during rustfmt invocations
skip untracked path query_impl-summarize.txt during rustfmt invocations
skip untracked path rustc.svg during rustfmt invocations
skip untracked path rustc_middle.mono_items.json during rustfmt invocations
skip untracked path rustc_middle.mono_items.md during rustfmt invocations
skip untracked path rustc_query_impl.mono_items-thread_local_attr.json during rustfmt invocations
skip untracked path rustc_query_impl.mono_items-thread_local_macro.json during rustfmt invocations
skip untracked path rustc_query_impl.mono_items.md during rustfmt invocations
tidy check
Found 505 error codes
Highest error code: `E0793`
* 397 features
Ensuring the YAML anchors in the GitHub Actions config were expanded
Building tool expand-yaml-anchors (stage0)
Finished release [optimized + debuginfo] target(s) in 0.14s
Build completed successfully in 0:00:54
```
After:
```
Building tool tidy (stage0)
Finished release [optimized + debuginfo] target(s) in 2.24s
fmt check
tidy check
Ensuring the YAML anchors in the GitHub Actions config were expanded
Building tool expand-yaml-anchors (stage0)
Finished release [optimized + debuginfo] target(s) in 0.14s
Build completed successfully in 0:00:04
```
|
|
We don't support old versions of LLVM; there's no reason to have an easy
way to force bootstrap to use them anyway. If someone really needs to
use an unsupported version, they can modify bootstrap to change the
version range.
|
|
Previously, `x fmt` would only format modified files, while `x fmt .`
and `x fmt --check` would still look at all files. After this change, `x
fmt --check` only looks at modified files locally.
I feel pretty confident in this change - other than
https://github.com/rust-lang/rust/issues/106261, no one has reported
bugs in `get_modified_rs_files` since it was added in
https://github.com/rust-lang/rust/pull/105702.
|
|
Rename `src/etc/vscode_settings.json` to `rust_analyzer_settings.json`
Fixes https://github.com/rust-lang/rust/issues/108614
|
|
Sync codegen defaults with compiler defaults and add a ping message so they stay in sync
Looks like this got missed in https://github.com/rust-lang/rust/pull/107241.
|
|
Remove `llvm.skip-rebuild` option
This was added to in 2019 to speed up rebuild times when LLVM was modified. Now that download-ci-llvm exists, I don't think it makes sense to support an unsound option like this that can lead to miscompiles; and the code cleanup is nice too.
r? `@Mark-Simulacrum` cc `@varkor` #65612
|
|
stay in sync
|
|
Apply BOLT optimizations without rebuilding LLVM
This PR adds an explicit BOLT bootstrap step which applies BOLT on the fly when LLVM artifacts are copied to a sysroot (it only does this once per bootstrap invocation, the result is cached). This avoids one LLVM rebuild in the Linux CI dist build.
r? `@jyn514`
|
|
Omit unchanged options from config.toml in `configure.py`
Leaves section tags, but removes options that are unchanged.
Change in `config.toml.example` is to prevent comments from sneaking in by being directly after a section tag
closes #108612
|
|
|
|
|
|
|
|
|
|
it is not default
|
|
|
|
|
|
Allow setting hashmap toml values in `./configure`
Fixes https://github.com/rust-lang/rust/issues/108621
|
|
Behind the scenes Clippy uses compiletest-rs, which doesn't support the
--json flag we added to Rust's compiletest.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Update LLVM submodule
Fixes #105626
|
|
Make `x doc --open` work on every book
Before this PR, the `--open` flag had to be configured explicitly for every book, and most of them didn't configure it, resulting in the flag silently failing in all but two books.
In this PR, the code to check for the `--open` flag is in the underlying `RustbookSrc` step rather than all the individual steps. This is done by passing the parent step as a field of `RustbookSrc`, so that we can check for the correct step in `maybe_open_in_browser`.
This was part of a larger change that in the end wasn't worth it. Still, I think it could be useful as-is.
|
|
|
|
This was added to in 2019 to speed up rebuild times when LLVM was
modified. Now that download-ci-llvm exists, I don't think it makes sense
to support an unsound option like this that can lead to miscompiles; and
the code cleanup is nice too.
|
|
The flag controls whether to copy the linker, DLLs, and various
libraries from MinGW into the rustc toolchain.
It applies only when the host or target is pc-windows-gnu.
The flag is true by default to preserve existing behavior.
|
|
|
|
|
|
Allow building serde and serde_derive in parallel
This reduces build time of bootstrap by ~6s
|
|
This reduces build time of bootstrap by ~6s
|
|
bootstrap: Update the output of the `check` descriptions
This should bring the output from `x check` in line with the changes in #108171
|
|
[107049] Recognise top level keys in config.toml.example
Closes #107049
Test Plan
Configure changelog-seen
```
lionellloh@lionellloh-mbp rust % ./configure --set changelog-seen=1
configure: processing command line
configure:
configure: changelog-seen := 1
configure: build.configure-args := ['--set', 'changelog-seen=1']
configure:
configure: writing `config.toml` in current directory
configure:
configure: run `python /Users/lionellloh/rust/x.py --help`
lionellloh@lionellloh-mbp rust % diff config.toml config.toml.example
16c16
< changelog-seen = 1
---
> changelog-seen = 2
331c331
< configure-args = ['--set', 'changelog-seen=1']
---
> #configure-args = []
675c675
< [target.x86_64-apple-darwin]
---
> [target.x86_64-unknown-linux-gnu]
809d808
<
```
Configure profile
```
lionellloh@lionellloh-mbp rust % ./configure --set profile=xyz
configure: processing command line
configure:
configure: profile := xyz
configure: build.configure-args := ['--set', 'profile=xyz']
configure:
configure: writing `config.toml` in current directory
configure:
configure: run `python /Users/lionellloh/rust/x.py --help`
lionellloh@lionellloh-mbp rust % diff config.toml config.toml.example
26c26
< profile = xyz
---
> #profile = <none>
331c331
< configure-args = ['--set', 'profile=xyz']
---
> #configure-args = []
675c675
< [target.x86_64-apple-darwin]
---
> [target.x86_64-unknown-linux-gnu]
809d808
<
```
|
|
Split `x setup` sub-actions to CLI arguments
Closes #107846
This adds a new `none` profile option which simply skips the `config.toml` step. It also adds `hook` and `vscode` subcommands, for installing the pre-push hook and getting `settings.json` respectively.
|
|
Test that the compiler/library builds with validate-mir
Fixes #105706
|
|
|
|
support `x fmt` for sub and outside of rust directories
This PR makes `x fmt` to be succesfully work from sub or outside dir of rust.
The following cases are tested and the results were successful.
```sh
# from rust/library directory
../x fmt compiler --check
../x fmt compiler/rustc
# from outside of rust directory
../../rust/x fmt library/std library/core --check
../../rust/x fmt library/std
```
Resolves #108004
r? ``@albertlarsan68``
|
|
|
|
Signed-off-by: ozkanonur <work@onurozkan.dev>
|
|
|
|
r=ozkanonur
no-fail-fast support for tool testsuites
~~This commit adds a change to pass "--no-fail-fast" flag to `cargo test` inside `tool::prepare_tool_cargo()` so there is no need to do it manually in each `Step` trait implementation in src/bootstrap/test.rs.~~
~~Also, removes the flag from test.rs where prepare_tool_cargo() is called so cargo doesn't complain because the flag has been passed twice.~~
This commit adds `--no-fail-fast` flag to each `cargo test`
command in each tool Step trait implementation (`miri`, `rustfmt` and `clippy`).
Fixes #108261
|
|
This commit adds `--no-fail-fast` flag to each `cargo test`
command in each tool Step trait implementation.
Fixes #108261
|
|
Revert #107834
This reverts commit [41c6c5d4996728b5a635319ef9b077a3d0ccc480](https://github.com/rust-lang/rust/pull/107834). Trying to check if this fixes building `rustc` for perf bot.
|