Skip to content

Enable Windows-on-ARM64 builds by fixing arch detection and adding Windows ARM CI#349

Open
tsomanna wants to merge 2 commits into
awslabs:mainfrom
tsomanna:windows-arm64
Open

Enable Windows-on-ARM64 builds by fixing arch detection and adding Windows ARM CI#349
tsomanna wants to merge 2 commits into
awslabs:mainfrom
tsomanna:windows-arm64

Conversation

@tsomanna

Copy link
Copy Markdown

Issue

Several AWS CRT projects rely on builder.pyz for builds (e.g., aws-c-event-stream). Today, when builder.pyz runs on a Windows ARM64 machine, architecture detection reports x64, which blocks native ARM64 workflows and prevents downstream projects from producing native ARM64 artifacts.

Adding Windows ARM64 support here improves developer experience and reduces dependency on x64 emulation for Windows-on-ARM platforms.

Description of changes:

  1. Windows ARM64 host detection (builder/core/host.py)
  • Use platform.machine() on Windows to detect ARM64
  • Map Windows ARM64 to the builder’s canonical internal arch: armv8
  1. Windows ARM64 platform + compiler support (builder/core/data.py)
  • Add armv8 to MSVC architectures with CMake args -AARM64
  • Add windows-armv8 to the platform set
  • Extend Windows alias generation so the following map to windows-armv8:
    • windows-arm64, windows-arm64v8, windows-arm64v8a, windows-aarch64
  1. CI coverage (.github/workflows/sanity-test.yml)
  • Add a Windows ARM runner (windows-11-arm) to the sanity test matrix to ensure this code path is exercised in CI.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@tsomanna tsomanna marked this pull request as ready for review May 25, 2026 09:30
@tsomanna

tsomanna commented Jun 9, 2026

Copy link
Copy Markdown
Author

Hi, any updates on this?

@xiazhvera

Copy link
Copy Markdown
Contributor

Hi @tsomanna, unfortunately, we don't currently have the bandwidth to review and tests the changes. Windows ARM64 support is on our roadmap, however, we don't have a timeline to share at this point.

@tsomanna

Copy link
Copy Markdown
Author

Hi @xiazhvera, we'd be happy to help you out with testing. Let us know if that works for you and what tests you'd like us to run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants