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