Skip to content

Windows arm64 NativeAOT cross-build (dotnet-aot) AoT CI leg persistently failing #55298

Description

@baronfel

Summary

The win-arm64 NativeAOT cross-build AoT leg — added in #55205 (### AoT (win-arm64 cross-build) ### in .vsts-pr.yml / .vsts-ci.yml) — has been persistently failing in CI. To keep the SDK PR/CI pipelines green while this is investigated, the leg has been disabled (disableJob: true) in #55144. This issue tracks re-enabling it.

Details

The leg cross-compiles dotnet-aot from a win-x64 host to win-arm64 via NativeAOT (/p:CrossBuild=true, MSVC arm64 linker + the RID-specific ILCompiler package). It is build-only (runTests: false) — there is no wired windows.11.arm64 Helix queue yet — so the failures are in the NativeAOT compilation / ILC cross-link step, not in test execution.

Because the failure is in the win-x64 → win-arm64 NativeAOT cross-compilation toolchain (ILC / cross-linking), this needs investigation by the NativeAOT / ILCompiler (illink) team.

cc @dotnet/illink

What was changed to unblock

  • .vsts-pr.yml and .vsts-ci.yml: the ### AoT (win-arm64 cross-build) ### job is disabled via disableJob: true, with a comment pointing at this issue.
  • The linux-arm64 cross-build AoT leg and the native x64 / osx-arm64 / linux-x64 AoT legs are unaffected.

Follow-up to re-enable

  1. Root-cause the win-x64 → win-arm64 NativeAOT cross-build failure.
  2. Once fixed, remove disableJob: true from the win-arm64 AoT job parameter set in both .vsts-pr.yml and .vsts-ci.yml.
  3. Separately, wiring a windows.11.arm64 Helix queue would allow running the *.AoT.Tests on real arm64 hardware (currently build-only).

Related: #55205, #55144, #55078

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-ILLinkArea-NativeAOTNative AOT compilationArea-dotnet AOTItems that are part of the dotnet CLI AOT-ification effort

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions