Skip to content

Add an aarch64-msvc build running on ARM64 Windows #140136

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dpaoliello
Copy link
Contributor

@dpaoliello dpaoliello commented Apr 21, 2025

Resurrecting #126341

Per rust-lang/rfcs#3817 we intend to promote aarch64-pc-windows-msvc to Tier 1. As part of that work, we are adding a pre-merge CI job to validate that changes do not break this target.

Additionally, for consistency, the dist-aarch64-msvc job will also be run on Arm64 Windows runners.

r? @Kobzol

try-job: *aarch64-msvc*

@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-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Apr 21, 2025
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Apr 23, 2025

☔ The latest upstream changes (presumably #138591) made this pull request unmergeable. Please resolve the merge conflicts.

@dpaoliello dpaoliello force-pushed the arm64winci branch 2 times, most recently from b26ede0 to 6677d07 Compare April 23, 2025 17:09
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

@rustbot rustbot added the PG-exploit-mitigations Project group: Exploit mitigations label Apr 25, 2025
@rust-log-analyzer

This comment has been minimized.

@dpaoliello dpaoliello force-pushed the arm64winci branch 2 times, most recently from d729d12 to 4f5a07f Compare April 28, 2025 19:54
@rust-log-analyzer

This comment has been minimized.

@rust-log-analyzer

This comment has been minimized.

bors added a commit to rust-lang-ci/rust that referenced this pull request May 20, 2025
[win][ci] Update LLVM toolchain used to build LLVM to 20

While trying to get the aarch64-msvc build working correctly (rust-lang#140136), I needed to update the version of LLVM used to build LLVM in Windows CI runners to 20 (as this has improved support for Arm64 and Arm64EC on Windows).

This catches Windows up to Linux which was updated to 20 by rust-lang#137189

try-job: `x86_64-apple-*`
try-job: `aarch64-apple`
try-job: `x86_64-msvc-*`
try-job: `i686-msvc-*`
try-job: `x86_64-mingw-*`
@dpaoliello
Copy link
Contributor Author

All cleanups have now been merged, so I've filed the MCP: rust-lang/compiler-team#875

@Kobzol
Copy link
Contributor

Kobzol commented May 21, 2025

Oh, sorry, I thought that this is a bump to Tier 2 with host tools, not to Tier 1. That indeed requires a full RFC, not just an MCP.

@bors
Copy link
Collaborator

bors commented May 21, 2025

☔ The latest upstream changes (presumably #141320) made this pull request unmergeable. Please resolve the merge conflicts.

@dpaoliello
Copy link
Contributor Author

dpaoliello commented May 22, 2025

Filed the RFC: rust-lang/rfcs#3817

@programmerjake
Copy link
Member

does this need to update a bunch of submodules? those should probably be separate PRs

@dpaoliello dpaoliello force-pushed the arm64winci branch 2 times, most recently from ffce8e0 to 56f27af Compare May 22, 2025 21:42
@dpaoliello
Copy link
Contributor Author

does this need to update a bunch of submodules? those should probably be separate PRs

No submodule changes were needed: that was my mistake of rebasing then forgetting to update the submodules.

@dpaoliello dpaoliello changed the title DRAFT: Add an aarch64-msvc build running on ARM64 Windows Add an aarch64-msvc build running on ARM64 Windows Jun 13, 2025
@dpaoliello dpaoliello marked this pull request as ready for review June 13, 2025 22:30
@Kobzol
Copy link
Contributor

Kobzol commented Jun 16, 2025

@bors2 try

@rust-bors
Copy link

rust-bors bot commented Jun 16, 2025

⌛ Trying commit 2953787 with merge e5a36c5

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

rust-bors bot added a commit that referenced this pull request Jun 16, 2025
Add an aarch64-msvc build running on ARM64 Windows

Resurrecting #126341

Per <rust-lang/rfcs#3817> we intend to promote `aarch64-pc-windows-msvc` to Tier 1. As part of that work, we are adding a pre-merge CI job to validate that changes do not break this target.

Additionally, for consistency, the `dist-aarch64-msvc` job will also be run on Arm64 Windows runners.

r? `@Kobzol`

try-job: `*aarch64-msvc*`
Copy link
Contributor

@Kobzol Kobzol left a comment

Choose a reason for hiding this comment

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

Looks good. If the try build is green, I'll approve it.


source "$(cd "$(dirname "$0")" && pwd)/../shared.sh"

if [[ "${CI_JOB_NAME}" = *aarch64* ]] && isWindows; then
Copy link
Contributor

Choose a reason for hiding this comment

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

I would rather do this via an explicit parameter in jobs.yml (such as e.g. free_disk), but for now this is fine, as I expect we'll remove this soon-ish.

@rust-bors
Copy link

rust-bors bot commented Jun 16, 2025

💔 Test failed

tgross35 added a commit to tgross35/rust that referenced this pull request Jun 19, 2025
Add a missing colon at the end of the panic location details in location-detail-unwrap-multiline.rs

The `location-detail-unwrap-multiline` test was failing when trying to enable `aarch64-pc-windows-msvc` CI Runners: rust-lang#140136 (comment)

When debugging, the normalized stderr was:

```
thread 'main' panicked at $DIR/location-detail-unwrap-multiline.rs:11:10:
called `Option::unwrap()` on a `None` value
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
```

Note the trailing colon at the end of the location details in the panic message. This was missing in the error pattern regex. No idea why it has been passing for all other targets and failed for `aarch64-pc-windows-msvc`, but with the trailing colon it is now passing for all.
rust-timer added a commit that referenced this pull request Jun 19, 2025
Rollup merge of #142639 - dpaoliello:needcolon, r=WaffleLapkin

Add a missing colon at the end of the panic location details in location-detail-unwrap-multiline.rs

The `location-detail-unwrap-multiline` test was failing when trying to enable `aarch64-pc-windows-msvc` CI Runners: #140136 (comment)

When debugging, the normalized stderr was:

```
thread 'main' panicked at $DIR/location-detail-unwrap-multiline.rs:11:10:
called `Option::unwrap()` on a `None` value
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
```

Note the trailing colon at the end of the location details in the panic message. This was missing in the error pattern regex. No idea why it has been passing for all other targets and failed for `aarch64-pc-windows-msvc`, but with the trailing colon it is now passing for all.
@dpaoliello
Copy link
Contributor Author

@Kobzol test issue has been fixed, this is ready to be merged now.

@Kobzol
Copy link
Contributor

Kobzol commented Jun 19, 2025

@bors2 try

@rust-bors
Copy link

rust-bors bot commented Jun 19, 2025

⌛ Trying commit 2953787 with merge 85d00de

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

rust-bors bot added a commit that referenced this pull request Jun 19, 2025
Add an aarch64-msvc build running on ARM64 Windows

Resurrecting #126341

Per <rust-lang/rfcs#3817> we intend to promote `aarch64-pc-windows-msvc` to Tier 1. As part of that work, we are adding a pre-merge CI job to validate that changes do not break this target.

Additionally, for consistency, the `dist-aarch64-msvc` job will also be run on Arm64 Windows runners.

r? `@Kobzol`

try-job: `*aarch64-msvc*`
@rust-bors
Copy link

rust-bors bot commented Jun 19, 2025

☀️ Try build successful (CI)
Build commit: 85d00de (85d00de3274702008c94f1a3376278eb44effb08, parent: 8de4c7234dd9b97c9d76b58671343fdbbc9a433e)

github-actions bot pushed a commit to rust-lang/miri that referenced this pull request Jun 20, 2025
Add a missing colon at the end of the panic location details in location-detail-unwrap-multiline.rs

The `location-detail-unwrap-multiline` test was failing when trying to enable `aarch64-pc-windows-msvc` CI Runners: rust-lang/rust#140136 (comment)

When debugging, the normalized stderr was:

```
thread 'main' panicked at $DIR/location-detail-unwrap-multiline.rs:11:10:
called `Option::unwrap()` on a `None` value
stack backtrace:
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
```

Note the trailing colon at the end of the location details in the panic message. This was missing in the error pattern regex. No idea why it has been passing for all other targets and failed for `aarch64-pc-windows-msvc`, but with the trailing colon it is now passing for all.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-compiletest Area: The compiletest test runner A-run-make Area: port run-make Makefiles to rmake.rs A-testsuite Area: The testsuite used to check the correctness of rustc PG-exploit-mitigations Project group: Exploit mitigations 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-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.

7 participants