-
fix(python): add Windows ARM64 support and extract cua-driver-uia.exe (#1850)
发布于
2026-06-05 03:05:10 +00:00 | 1111 次提交 在此版本后已推送到 main- fix(python): add Windows ARM64 support and extract cua-driver-uia.exe
Fixes critical issues identified in CI readiness review:
-
Add Windows ARM64 to build matrix
- Matrix now includes windows-arm64 alongside windows-x86_64
- Added --arch parameter to build_wheel.py for architecture override
- Updated artifact names to include architecture to prevent collisions
-
Extract both Windows executables
- Modified get_release_url() to return list of binaries
- Windows archives contain cua-driver.exe AND cua-driver-uia.exe
- extract_binaries() now handles multiple binaries per archive
- Both executables are bundled in Windows wheels
-
Fix wheel platform tags
- Set pure-python = false in pyproject.toml
- Ensures wheels are tagged as platform-specific, not universal
- Critical for correct PyPI distribution of platform binaries
These changes ensure complete Windows support (both architectures)
and proper bundling of the UIAccess worker binary.Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
- fix(python): use PYPI_TOKEN secret instead of pypi environment
Match other Python CD workflows which use PYPI_TOKEN with twine.
Removes need for manual pypi environment setup.Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
- fix(python): correct actions/setup-python SHA256 pinning
Fixed typo in SHA - should end in 2b not 20.
Verified all pinned SHAs match their tags:- actions/checkout@11bd719 = v4.2.2 ✓
- actions/setup-python@0b93645...2b = v5.3.0 ✓
- actions/upload-artifact@6f51ac0 = v4.5.0 ✓
- actions/download-artifact@fa0a91b = v4.1.8 ✓
- pypa/gh-action-pypi-publish@67339c7 = v1.12.3 ✓
Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
- fix(python): normalize arch override and fix Windows ARM64 wheel tagging
Addresses CodeRabbit review comments:
-
Normalize --arch override to handle common aliases/casing
- Accepts: x86_64, amd64, x64 -> normalized to x86_64
- Accepts: arm64, aarch64 -> normalized to arm64
- Prevents invalid archive URLs from unrecognized values
-
Fix Windows ARM64 wheel platform tags
- Added target_arch parameter to build_wheel()
- Sets _PYTHON_HOST_PLATFORM=win-arm64 env var for cross-compilation
- Ensures correct wheel tag (win_arm64) when building on x64 runner
- Prevents mismatched platform metadata (win_amd64 wheel with ARM64 binary)
The workflow correctly uses windows-latest (x64) for both architectures,
and the build script now handles platform tag overrides for cross-compilation.Co-Authored-By: Claude Sonnet 4.5 noreply@anthropic.com
Co-authored-by: Claude Sonnet 4.5 noreply@anthropic.com
下载附件