发布

  • fix(python): add Windows ARM64 support and extract cua-driver-uia.exe (#1850)

    frostbyte_neo 发布于 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:

    1. 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
    2. 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
    3. 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:

    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:

    1. 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
    2. 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

    下载附件