Skip to content

Commit ac63bfc

Browse files
authored
Merge pull request #189 from bashtage/win-arm64
CI: Add win-arm64 support
2 parents b736be5 + 38e8b1e commit ac63bfc

File tree

3 files changed

+28
-4
lines changed

3 files changed

+28
-4
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
name: Build Dependencies(Win-ARM64)
2+
description: "Setup LLVM for Win-ARM64 builds"
3+
4+
runs:
5+
using: "composite"
6+
steps:
7+
- name: Install LLVM with checksum verification
8+
shell: pwsh
9+
run: |
10+
Invoke-WebRequest https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.6/LLVM-20.1.6-woa64.exe -UseBasicParsing -OutFile LLVM-woa64.exe
11+
$expectedHash = "92f69a1134e32e54b07d51c6e24d9594852f6476f32c3d70471ae00fffc2d462"
12+
$fileHash = (Get-FileHash -Path "LLVM-woa64.exe" -Algorithm SHA256).Hash
13+
if ($fileHash -ne $expectedHash) {
14+
Write-Error "Checksum verification failed. The downloaded file may be corrupted or tampered with."
15+
exit 1
16+
}
17+
Start-Process -FilePath ".\LLVM-woa64.exe" -ArgumentList "/S" -Wait
18+
echo "C:\Program Files\LLVM\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
19+
echo "CC=clang-cl" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
20+
echo "CXX=clang-cl" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
21+
echo "FC=flang-new" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

.github/workflows/build-wheels.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,26 @@ jobs:
1919
fail-fast: false
2020
matrix:
2121
python: [cp310, cp311, cp312, cp313]
22-
os: [ubuntu-latest, windows-latest, macos-13, macos-latest]
22+
os: [ubuntu-latest, windows-latest, macos-13, macos-latest, windows-11-arm]
2323
python_impl: [Python]
2424
include:
2525
- python: cp312
2626
os: ubuntu-latest
2727
python_impl: Pyodide
28+
exclude:
29+
- os: windows-11-arm
30+
python: cp310
2831
env:
2932
BUILD_COMMIT: "main" # or a specific version, e.g., v0.13.1
3033
CIBW_BUILD: ${{ matrix.python }}-*
3134
CIBW_ARCHS_LINUX: "x86_64 aarch64"
3235
# No support for pypy, musl, Win32 for 3.10+
3336
# Skip musl for 3.8 and 3.9 since no upstream wheels
34-
CIBW_SKIP: "pp* *-win32 cp38-musllinux* cp39-musllinux* *musllinux_aarch64*"
37+
CIBW_SKIP: "pp* *-win32 *musllinux_aarch64*"
3538
CIBW_TEST_REQUIRES: pytest pytest-xdist
3639
CIBW_TEST_COMMAND: python -c "import statsmodels; statsmodels.test(['--skip-examples','--skip-slow','-n','2'], exit=True)"
3740
# Avoid testing on emulated architectures and Pyodide
38-
CIBW_TEST_SKIP: "*-*linux_{aarch64,ppc64le,s390x} *pyodide*"
41+
CIBW_TEST_SKIP: "*-*linux_{aarch64,ppc64le,s390x} *pyodide* *win_arm64*"
3942
CIBW_REPAIR_WHEEL_COMMAND_LINUX: 'auditwheel repair --strip -w {dest_dir} {wheel}'
4043
CIBW_BUILD_VERBOSITY: 1
4144
MULTIBUILD_WHEELS_STAGING_ACCESS: ${{ secrets.MULTIBUILD_WHEELS_STAGING_ACCESS }}

statsmodels

Submodule statsmodels updated 350 files

0 commit comments

Comments
 (0)