Skip to content

{aarch64,x86_64}-pc-windows-gnullvm: build host tools #140772

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

Merged
merged 1 commit into from
Jun 19, 2025

Conversation

mati865
Copy link
Member

@mati865 mati865 commented May 7, 2025

This is a temporary single-release workflow to create stage0 for these targets.

I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable.

--enable-full-tools for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory.

rust-lang/compiler-team#877

@rustbot
Copy link
Collaborator

rustbot commented May 7, 2025

r? @marcoieni

rustbot has assigned @marcoieni.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added 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. labels May 7, 2025
@rustbot
Copy link
Collaborator

rustbot commented May 7, 2025

This PR changes how LLVM is built. Consider updating src/bootstrap/download-ci-llvm-stamp.

@mati865
Copy link
Member Author

mati865 commented May 11, 2025

Forgot to include try-job. Fixed it.

@marcoieni
Copy link
Member

This will require MCP, but I suppose we need to know how long it takes to build first.

ok, so I guess we need to try this, right?

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request May 15, 2025
{aarch64,x86_64}-*-windows-gnullvm: build host tools

This will require MCP, but I suppose we need to know how long it takes to build first.

I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable.

`--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory. And WiX that bootstrap relies upon to create .msi installers only supports Windows. I haven't tried, but it might be usable via Wine.

Almost every commit is self-contained, so let me know if I should split them into separate PRs.

try-job: dist-windows-gnullvm
@bors
Copy link
Collaborator

bors commented May 15, 2025

⌛ Trying commit d0b81ca with merge 9772d67...

@rust-log-analyzer

This comment has been minimized.

@marcoieni
Copy link
Member

maybe you need to add the job to the src/ci/github-actions/jobs.yml file?

@bors
Copy link
Collaborator

bors commented May 15, 2025

💥 Test timed out

@mati865
Copy link
Member Author

mati865 commented May 15, 2025

Oh, right. Totally forgot about it.

@marcoieni
Copy link
Member

@bors try

@bors
Copy link
Collaborator

bors commented May 16, 2025

⌛ Trying commit b256449 with merge 34c404a...

bors added a commit to rust-lang-ci/rust that referenced this pull request May 16, 2025
{aarch64,x86_64}-*-windows-gnullvm: build host tools

This will require MCP, but I suppose we need to know how long it takes to build first.

I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable.

`--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory. And WiX that bootstrap relies upon to create .msi installers only supports Windows. I haven't tried, but it might be usable via Wine.

Almost every commit is self-contained, so let me know if I should split them into separate PRs.

try-job: dist-windows-gnullvm
@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented May 16, 2025

💔 Test failed - checks-actions

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 16, 2025
@mati865
Copy link
Member Author

mati865 commented May 16, 2025

System.IO.IOException: No space left on device

Unfortunately, free CI runners are not as capable as I had hoped. I've split the jobs now, but dunno if this will be acceptable.

@marcoieni
Copy link
Member

I've split the jobs now, but dunno if this will be acceptable.

yes, we prefer multiple free runner compared to 1 large runner 👍

@bors try

bors added a commit to rust-lang-ci/rust that referenced this pull request May 19, 2025
{aarch64,x86_64}-*-windows-gnullvm: build host tools

This will require MCP, but I suppose we need to know how long it takes to build first.

I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable.

`--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory. And WiX that bootstrap relies upon to create .msi installers only supports Windows. I haven't tried, but it might be usable via Wine.

Almost every commit is self-contained, so let me know if I should split them into separate PRs.

try-job: dist-aarch64-windows-gnullvm
try-job: dist-x86_64-windows-gnullvm
@bors
Copy link
Collaborator

bors commented May 19, 2025

⌛ Trying commit a84e84e with merge 9e708f5...

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented May 19, 2025

💔 Test failed - checks-actions

@marcoieni
Copy link
Member

@bors try

Copy link
Member

@Noratrieb Noratrieb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

r=me on the docs after fixing it

@@ -147,8 +149,7 @@ target | std | notes
[`aarch64-apple-ios-macabi`](platform-support/apple-ios-macabi.md) | ✓ | Mac Catalyst on ARM64
[`aarch64-apple-ios-sim`](platform-support/apple-ios.md) | ✓ | Apple iOS Simulator on ARM64
[`aarch64-linux-android`](platform-support/android.md) | ✓ | ARM64 Android
[`aarch64-pc-windows-gnullvm`](platform-support/windows-gnullvm.md) | ✓ | ARM64 MinGW (Windows 10+), LLVM ABI
[`aarch64-unknown-fuchsia`](platform-support/fuchsia.md) | ✓ | ARM64 Fuchsia
`aarch64-unknown-fuchsia`](platform-support/fuchsia.md) | ✓ | ARM64 Fuchsia
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you broke the [

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oof, good catch. Just when I thought my switch from Vim style bindings to Helix style is going well...

@mati865
Copy link
Member Author

mati865 commented Jun 17, 2025

@bors r=marcoieni,Noratrieb

@bors
Copy link
Collaborator

bors commented Jun 17, 2025

📌 Commit 2c2bc10 has been approved by marcoieni,Noratrieb

It is now in the queue for this repository.

jhpratt added a commit to jhpratt/rust that referenced this pull request Jun 18, 2025
…Noratrieb

{aarch64,x86_64}-pc-windows-gnullvm: build host tools

This is a temporary single-release workflow to create stage0 for these targets.

I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable.

`--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory.

rust-lang/compiler-team#877
bors added a commit that referenced this pull request Jun 18, 2025
Rollup of 10 pull requests

Successful merges:

 - #135656 (Add `-Z hint-mostly-unused` to tell rustc that most of a crate will go unused)
 - #138237 (Get rid of `EscapeDebugInner`.)
 - #140772 ({aarch64,x86_64}-pc-windows-gnullvm: build host tools)
 - #140774 (Affirm `-Cforce-frame-pointers=off` does not override)
 - #141610 (Stabilize `feature(generic_arg_infer)`)
 - #141864 (Handle win32 separator for cygwin paths)
 - #142384 (Bringing `rustc_rayon_core` in tree as `rustc_thread_pool`)
 - #142502 (rustdoc_json: improve handling of generic args)
 - #142571 (Reason about borrowed classes in CopyProp.)
 - #142591 (Add spawn APIs for BootstrapCommand to support deferred command execution)

r? `@ghost`
`@rustbot` modify labels: rollup
@Kobzol
Copy link
Contributor

Kobzol commented Jun 18, 2025

@bors r-

#142656 (comment) The removed SH file is being used from somewhere.

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jun 18, 2025
@mati865
Copy link
Member Author

mati865 commented Jun 18, 2025

Sorry, I forgot about to revert the Dockerfile change that was made by nobody else but me basically a year ago...

Should be fine now.

@Kobzol
Copy link
Contributor

Kobzol commented Jun 18, 2025

@bors2 try jobs=dist-various-1

@rust-bors
Copy link

rust-bors bot commented Jun 18, 2025

⌛ Trying commit d577b39 with merge ba47ea7

To cancel the try build, run the command @bors2 try cancel.

rust-bors bot added a commit that referenced this pull request Jun 18, 2025
{aarch64,x86_64}-pc-windows-gnullvm: build host tools

This is a temporary single-release workflow to create stage0 for these targets.

I opted for bootstrapping from Linux because that's the easiest host system to work with, but once this hits beta, having dedicated Windows runners would be sensible and probably preferable.

`--enable-full-tools` for whatever reason doesn't seem to work when cross-compiling, because LLVM tools for the new hosts are not copied into the expected directory.

rust-lang/compiler-team#877
try-job: dist-various-1
@rust-bors
Copy link

rust-bors bot commented Jun 18, 2025

☀️ Try build successful (CI)
Build commit: ba47ea7 (ba47ea744c188e94267c65fefe9133384cadc5fa, parent: 6f935a044d1ddeb6160494a6320d008d7c311aef)

@Kobzol
Copy link
Contributor

Kobzol commented Jun 18, 2025

Thanks!

@bors r+ rollup=iffy

@bors
Copy link
Collaborator

bors commented Jun 18, 2025

📌 Commit d577b39 has been approved by Kobzol

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-author Status: This is awaiting some action (such as code changes or more information) from the author. labels Jun 18, 2025
@bors
Copy link
Collaborator

bors commented Jun 19, 2025

⌛ Testing commit d577b39 with merge d1d8e38...

@bors
Copy link
Collaborator

bors commented Jun 19, 2025

☀️ Test successful - checks-actions
Approved by: Kobzol
Pushing d1d8e38 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jun 19, 2025
@bors bors merged commit d1d8e38 into rust-lang:master Jun 19, 2025
11 checks passed
@rustbot rustbot added this to the 1.89.0 milestone Jun 19, 2025
Copy link
Contributor

What is this? This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.

Comparing 044514e (parent) -> d1d8e38 (this PR)

Test differences

No test diffs found

Test dashboard

Run

cargo run --manifest-path src/ci/citool/Cargo.toml -- \
    test-dashboard d1d8e386c5e84c4ba857f56c3291f73c27e2d62a --output-dir test-dashboard

And then open test-dashboard/index.html in your browser to see an overview of all executed tests.

Job duration changes

  1. x86_64-msvc-ext1: 7280.1s -> 10456.1s (43.6%)
  2. x86_64-apple-2: 5025.2s -> 6830.3s (35.9%)
  3. dist-x86_64-apple: 8007.9s -> 9332.3s (16.5%)
  4. x86_64-apple-1: 9017.3s -> 7874.8s (-12.7%)
  5. dist-aarch64-apple: 5567.3s -> 6163.9s (10.7%)
  6. x86_64-mingw-1: 8562.6s -> 9185.7s (7.3%)
  7. x86_64-gnu-aux: 6373.6s -> 5914.7s (-7.2%)
  8. dist-various-1: 4189.3s -> 3905.3s (-6.8%)
  9. mingw-check-2: 1977.4s -> 2104.9s (6.4%)
  10. dist-x86_64-illumos: 5511.5s -> 5817.0s (5.5%)
How to interpret the job duration changes?

Job durations can vary a lot, based on the actual runner instance
that executed the job, system noise, invalidated caches, etc. The table above is provided
mostly for t-infra members, for simpler debugging of potential CI slow-downs.

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (d1d8e38): 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 -2.5%, secondary 0.4%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
3.5% [2.5%, 4.6%] 2
Improvements ✅
(primary)
-2.5% [-3.4%, -1.5%] 2
Improvements ✅
(secondary)
-6.0% [-6.0%, -6.0%] 1
All ❌✅ (primary) -2.5% [-3.4%, -1.5%] 2

Cycles

Results (secondary -0.2%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

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

Binary size

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

Bootstrap: 693.624s -> 692.944s (-0.10%)
Artifact size: 372.05 MiB -> 372.01 MiB (-0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. 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