-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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
Upgrade pre-built Clang used in MSVC and MacOS builds, move MSVC builds to Server 2022 #124850
Conversation
Done |
@bors try |
Upgrade pre-built Clang used in MSVC and MacOS builds, move MSVC builds to Server 2022 Fixes rust-lang#92948 Example working MacOS and Windows builds: <https://github.com/rust-lang/rust/actions/runs/8989360201> Using Server 2022 for AArch64 MSVC is blocked by <llvm/llvm-project#81849>. I'll see if I can work around the issue in a follow up PR.
Looks like a little from git, but the majority was building LLVM. Comparing the x86-64 builds:
The LLVM build slowdown makes sense, given that we wrap Clang in SCCache to speed up the build, but we wouldn't have a cached build using the updated version of Clang. |
Yeah, that makes sense. Let's see if sccache helps. |
First run is complete, can we try again and see if it picks up the cached build from the last attempt (assuming that |
@bors try |
Upgrade pre-built Clang used in MSVC and MacOS builds, move MSVC builds to Server 2022 Fixes rust-lang#92948 Example working MacOS and Windows builds: <https://github.com/rust-lang/rust/actions/runs/8989360201> Using Server 2022 for AArch64 MSVC is blocked by <llvm/llvm-project#81849>. I'll see if I can work around the issue in a follow up PR.
☀️ Try build successful - checks-actions |
Ok, it's fast again, great. Could you please remove the CI modifications? Otherwise PR looks good to me. |
Done - thanks so much for helping out with this :) |
@bors r+ rollup=never |
Thanks for preparing and testing this! Let's see if it works. |
This comment has been minimized.
This comment has been minimized.
Upgrade pre-built Clang used in MSVC and MacOS builds, move MSVC builds to Server 2022 Fixes rust-lang#92948 Example working MacOS and Windows builds: <https://github.com/rust-lang/rust/actions/runs/8989360201> Using Server 2022 for AArch64 MSVC is blocked by <llvm/llvm-project#81849>. I'll see if I can work around the issue in a follow up PR.
This comment has been minimized.
This comment has been minimized.
💔 Test failed - checks-actions |
Ah, interesting, it's Clang 18 that breaks aarch64-msvc, not VS 2022's STL - I guess I'll have to apply the workaround to this PR... |
This comment has been minimized.
This comment has been minimized.
@Kobzol Workaround for aarch64-msvc has been implemented: please have a look at |
@bors r+ |
☀️ Test successful - checks-actions |
Finished benchmarking commit (a6e87c5): comparison URL. Overall result: ✅ improvements - no action needed@rustbot label: -perf-regression Instruction countThis is a highly reliable metric that was used to determine the overall result at the top of this comment.
Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesThis benchmark run did not return any relevant results for this metric. Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 673.028s -> 675.734s (0.40%) |
Fixes #92948
Example working MacOS and Windows builds: https://github.com/rust-lang/rust/actions/runs/8989360201
There is a bug in Clang 18 that causes issues when building for Arm64 in later parts of the build (specifically
libgit2
). As a workaround, we will still use the pre-built Clang to build LLVM but will use MSVC for the rest of the Arm64 build.