Skip to content

Rollup of 5 pull requests #132070

New issue

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

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

Already on GitHub? # to your account

Merged
merged 17 commits into from
Oct 23, 2024
Merged

Rollup of 5 pull requests #132070

merged 17 commits into from
Oct 23, 2024

Conversation

fmease
Copy link
Member

@fmease fmease commented Oct 23, 2024

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

Orion Gonzalez and others added 17 commits October 22, 2024 19:08
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Commit c95bbb59a9b22f9b838b15d28319185c1c884329 within rust-next
contains some changes required to be compatible with upcoming arbitraty
self types work. Roll RFL CI forward to the latest rust-next to include
that work.

Related:
rust-lang#130225
rust-lang#44874
…r-ozkan

Refactor change detection for rustdoc and download-rustc

This pull request refactors the change detection logic in the build process by consolidating redundant code into a new helper method. The key changes include the removal of duplicate logic for checking changes in directories and the addition of a new method to handle this functionality.

Refactoring and code simplification:

* [`src/bootstrap/src/core/build_steps/tool.rs`](diffhunk://#diff-dc86e288bcf7b3ca3f8c127d3568fbafc785704883bc7fc336bd185910aed5daL588-R593): Removed redundant change detection logic and replaced it with a call to the new `check_for_changes` method.
* [`src/bootstrap/src/core/config/config.rs`](diffhunk://#diff-5f5330cfcdb0a89b85ac3547b761c3a45c2534a85c4aaae8fea88c711a7a65b2R2837-R2872): Added a new method `check_for_changes` to centralize the logic for detecting changes in specified directories since a given commit.
* [`src/bootstrap/src/core/config/config.rs`](diffhunk://#diff-5f5330cfcdb0a89b85ac3547b761c3a45c2534a85c4aaae8fea88c711a7a65b2L2728-R2740): Updated the existing change detection code to use the new `check_for_changes` method.

Cleanup:

* [`src/bootstrap/src/core/build_steps/tool.rs`](diffhunk://#diff-dc86e288bcf7b3ca3f8c127d3568fbafc785704883bc7fc336bd185910aed5daL13-R13): Removed the unused import `git` from the helpers module.

   r? ``@AlbertLarsan68``
Compiletest: Custom differ

This adds support for a custom differ for compiletests. It’s purely visual and helps produce cleaner output when UI tests fail.

I’m using an environment variable for now since it’s experimental and I don’t want to drill the cli arguments all the way down. Also did a bit of general cleanup while I was at it.

This is how it looks [with debug info silenced](rust-lang#131182) (rust-lang#131182)
`COMPILETEST_DIFF_TOOL="/usr/bin/env difft --color always --background light --display side-by-side" ./x test tests/ui/parser`
![image](https://github.com/user-attachments/assets/f740ce50-7564-4469-be0a-86e24bc50eb8)
Add wasm32v1-none target (compiler-team/rust-lang#791)

This is a preliminary implementation of the MCP discussed in [compiler-team#791](rust-lang/compiler-team#791). It's not especially "major" but you know, process! Anyway it adds a new wasm32v1-none target which just pins down a set of wasm features. I think this is close to the consensus that emerged when discussing it on Zulip so I figured I'd sketch to see how hard it is. Turns out not very.
do not remove `.cargo` directory

If vendoring isn't used bootstrap removes `.cargo` directory, which prevents developers from setting certain options in the `.cargo/config.toml` file. This was introduced in rust-lang#97513 (specifically in [this commit](rust-lang@345eb14)). Also, since rust-lang#123942, vendoring is now possible even in git sources, which means we shouldn't remove `.cargo` directory in git sources anymore.
CI: rfl: use rust-next temporary commit

Commit c95bbb59a9b22f9b838b15d28319185c1c884329 within rust-next contains some changes required to be compatible with upcoming arbitraty self types work. Roll RFL CI forward to the latest rust-next to include that work.

Related:
rust-lang#130225
rust-lang#44874

r? ``@ojeda``

try-job: x86_64-rust-for-linux
@rustbot rustbot added A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc 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-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Oct 23, 2024
@fmease
Copy link
Member Author

fmease commented Oct 23, 2024

@bors r+ rollup=never p=5

@bors
Copy link
Collaborator

bors commented Oct 23, 2024

📌 Commit 5f0626c has been approved by fmease

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Oct 23, 2024
@bors
Copy link
Collaborator

bors commented Oct 23, 2024

⌛ Testing commit 5f0626c with merge 4f2f477...

@bors
Copy link
Collaborator

bors commented Oct 23, 2024

☀️ Test successful - checks-actions
Approved by: fmease
Pushing 4f2f477 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Oct 23, 2024
@bors bors merged commit 4f2f477 into rust-lang:master Oct 23, 2024
7 checks passed
@rustbot rustbot added this to the 1.84.0 milestone Oct 23, 2024
@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#131043 Refactor change detection for rustdoc and download-rustc dcf556b4205511e24a050e89986da93c5cf7c219 (link)
#131181 Compiletest: Custom differ f3a3299e8596af210ed284db43cb148fba4f96bf (link)
#131487 Add wasm32v1-none target (compiler-team/#791) 0442c5e15a765f36887865391b43cdb9f155337b (link)
#132054 do not remove .cargo directory 0cb551262a96d3305cac9b5629f5fdf2b2f27c50 (link)
#132058 CI: rfl: use rust-next temporary commit ad5c9fd45f2adf28a19659a352afaeb276feb13c (link)

previous master: be01dabfef

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (4f2f477): comparison URL.

Overall result: no relevant changes - no action needed

@rustbot label: -perf-regression

Instruction count

This benchmark run did not return any relevant results for this metric.

Max RSS (memory usage)

Results (primary -0.9%, secondary -2.8%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-0.9% [-0.9%, -0.9%] 1
Improvements ✅
(secondary)
-2.8% [-2.9%, -2.7%] 2
All ❌✅ (primary) -0.9% [-0.9%, -0.9%] 1

Cycles

Results (primary 2.3%, secondary -2.0%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
2.3% [2.3%, 2.3%] 1
Regressions ❌
(secondary)
2.5% [2.5%, 2.5%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-2.5% [-3.0%, -2.0%] 9
All ❌✅ (primary) 2.3% [2.3%, 2.3%] 1

Binary size

This benchmark run did not return any relevant results for this metric.

Bootstrap: 780.494s -> 781.235s (0.09%)
Artifact size: 333.63 MiB -> 333.60 MiB (-0.01%)

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-compiletest Area: The compiletest test runner A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants