Skip to content

Add Windows ARM64 wheels - #840

Open
ndabas wants to merge 2 commits into
livekit:mainfrom
ndabas:main
Open

ndabas wants to merge 2 commits into
livekit:mainfrom
ndabas:main

Conversation

@ndabas

@ndabas ndabas commented Sep 30, 2026

Copy link
Copy Markdown

As the title says -- all tests are passing on my fork. Along the way I noticed some warnings in the tests, which were trivial to fix, so I added those fixes as well -- let me know if that's fine.

@CLAassistant

CLAassistant commented Sep 30, 2026 •

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Devin Review found 1 potential issue.

Devin Review

Comment on lines +76 to +77
- os: windows-11-arm
archs: ARM64

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🔴 Windows ARM64 wheel jobs select no builds

On Windows ARM64, CIBW_ARCHS=ARM64 combines with the cp39-* build selector, leaving cibuildwheel no eligible builds. Windows ARM64 builds start at CPython 3.11, so both wheel jobs fail and prevent publication.

Learn more

Both the RTC workflow and the release workflow add an ARM64 runner and pass ARM64 to cibuildwheel. The package's build selector only allows cp39-*, while cibuildwheel's native Windows ARM64 Python builds start at 3.11. As a result, selecting the ARM64 architecture leaves no build identifiers; the job cannot upload a wheel. The same selection occurs in the release build.

Example: An RTC tag starts the windows-11-arm job. It requests cp39-* on ARM64, finds no native CPython 3.9 ARM64 build, and never uploads rtc-release-windows-11-arm; the dependent test and publish jobs cannot complete.

Recommended fix: Extend the cibuildwheel build selector to include a supported Windows ARM64 version, such as cp311-win_arm64, while retaining the existing cp39-* builds. Verify the resulting wheel artifact and tests on the ARM64 runner in both workflows.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

cibuildwheel has Python 3.9 releases for Windows ARM64 available to it via NuGet. As evidenced by the passing CI job.

This branch has not been deployed

No deployments
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