@@ -123,10 +123,8 @@ jobs:
123123 platform :
124124 - target : x86_64-pc-windows-msvc
125125 arch : x64
126- interpreter : -i python3
127126 - target : aarch64-pc-windows-msvc
128127 arch : x64
129- interpreter : -i 3.13
130128 # NOTE: Disabling this target due to poor support in PyArrow and
131129 # friends.
132130 # - target: i686-pc-windows-msvc
@@ -140,15 +138,22 @@ jobs:
140138 with :
141139 python-version : ${{ env.PYTHON_VERSION }}
142140 architecture : ${{ matrix.platform.arch }}
141+ - name : " Download Python ARM64 libs for cross-compilation"
142+ if : startsWith(matrix.platform.target, 'aarch64')
143+ shell : pwsh
144+ run : |
145+ $pyver = python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}')"
146+ Write-Output "Installing pythonarm64 $pyver"
147+ nuget install pythonarm64 -Version $pyver -ExcludeVersion -OutputDirectory "${{ runner.temp }}\python-arm64"
148+ Write-Output "PYO3_CROSS_LIB_DIR=${{ runner.temp }}\python-arm64\pythonarm64\tools\libs" >> $env:GITHUB_ENV
143149 - name : " Build wheels"
144150 uses : PyO3/maturin-action@v1.49.1
145151 with :
146152 target : ${{ matrix.platform.target }}
147- args : --release --locked --out dist ${{ matrix.platform.interpreter }}
153+ args : --release --locked --out dist -i ${{ startsWith( matrix.platform.target, 'aarch64') && '3.13' || 'python3' }}
148154 env :
149- # aarch64 build fails , see https://github.com/PyO3/maturin/issues/2110
155+ # aarch64 cross-compilation , see https://github.com/PyO3/maturin/issues/2110
150156 XWIN_VERSION : 16
151- PYO3_CROSS_PYTHON_VERSION : ${{ env.PYTHON_VERSION }}
152157 - name : " Test wheel"
153158 if : ${{ !startsWith(matrix.platform.target, 'aarch64') }}
154159 shell : bash
0 commit comments