@@ -31,31 +31,18 @@ jobs:
3131 fail-fast : false
3232 matrix :
3333 include :
34- # - os: ubuntu-latest
35- # cibw_archs: "x86_64"
36- # - os: ubuntu-24.04-arm
37- # cibw_archs: "aarch64"
38- # - os: windows-2025
39- # cibw_archs: "AMD64"
40- # # Not happy at the moment hence turned off
41- # # It doesn't seem too far away, but something isn't quite right.
42- # # Latest run by Zeb: https://github.com/openscm/example-fgen-basic/actions/runs/17173313157/job/48725872212
43- # # Can't find numpy definitions for some reason.
44- # # Maybe helpful issue: https://github.com/numpy/numpy/issues/25000
45- # # numpy uses different compilers, might be something to try, see:
46- # # - https://github.com/numpy/numpy/actions/runs/17087345049/job/48453931521
47- # # - https://github.com/numpy/numpy/blob/37c9cb68ba7db9c48bc0e3354953c57a78d2b0e8/.github/workflows/wheels.yml#L129
48- # # scipy doesn't bother building windows arm wheels, see:
49- # # - https://pypi.org/project/scipy/#files
50- # # potentially relevant scipy issues:
51- # # - https://github.com/scipy/scipy/issues/21716
52- # # - https://github.com/scipy/scipy/issues/14812
34+ - os : ubuntu-latest
35+ cibw_archs : " x86_64"
36+ - os : ubuntu-24.04-arm
37+ cibw_archs : " aarch64"
38+ - os : windows-2025
39+ cibw_archs : " AMD64"
5340 - os : windows-11-arm
5441 cibw_archs : " ARM64"
55- # - os: macos-13
56- # cibw_archs: "x86_64"
57- # - os: macos-14
58- # cibw_archs: "arm64"
42+ - os : macos-13
43+ cibw_archs : " x86_64"
44+ - os : macos-14
45+ cibw_archs : " arm64"
5946
6047 steps :
6148 - uses : actions/checkout@v5
@@ -68,56 +55,19 @@ jobs:
6855 # TODO: figure out whether we need/want to use other compilers too
6956 compiler : " gcc"
7057 version : " 13"
71- - name : Specify MSVC toolchain - windows-arm
72- # When building on windows ARM, we need to use the MSVC toolchain
73- # # Original from: https://github.com/matplotlib/matplotlib/blob/1ddb1eccac8cfc25dee47bc538dc5913384b253f/.github/workflows/cibuildwheel.yml#L108
74- # # On Windows, we explicitly request MSVC compilers (as GitHub Action runners have
75- # # MinGW on PATH that would be picked otherwise), switch to a static build for
76- # # runtimes, but use dynamic linking for `VCRUNTIME140.dll`, `VCRUNTIME140_1.dll`,
77- # # and the UCRT. This avoids requiring specific versions of `MSVCP140.dll`, while
78- # # keeping shared state with the rest of the Python process/extensions.
79- # CIBW_CONFIG_SETTINGS_WINDOWS: >-
80- # setup-args="--vsenv"
81- # setup-args="-Db_vscrt=mt"
82- # setup-args="-Dcpp_link_args=['ucrt.lib','vcruntime.lib','/nodefaultlib:libucrt.lib','/nodefaultlib:libvcruntime.lib']"
83- # run: |
84- # echo 'CIBW_CONFIG_SETTINGS_WINDOWS=setup-args="--vsenv" setup-args="-Db_vscrt=mt"' >> $GITHUB_ENV
85- # TODO: figure out escaping and add back in (?)
86- # setup-args="-Dcpp_link_args=['ucrt.lib','vcruntime.lib','/nodefaultlib:libucrt.lib','/nodefaultlib:libvcruntime.lib']"
87- # ###
58+ - name : Specify LLVM - windows-arm
8859 if : ${{ matrix.os == 'windows-11-arm' }}
8960 shell : pwsh
9061 run : |
62+ Invoke-WebRequest https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.8/LLVM-20.1.8-woa64.exe -OutFile LLVM-woa64.exe
63+ Start-Process -FilePath ".\LLVM-woa64.exe" -ArgumentList "/S" -Wait
64+
65+ $env:PATH = "C:\Program Files\LLVM\bin;" + $env:PATH
66+ echo "C:\Program Files\LLVM\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
9167 echo "CC=clang-cl" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
9268 echo "CXX=clang-cl" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
9369 echo "FC=flang-new" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
9470 echo "AR=llvm-lib.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
95-
96- Invoke-WebRequest https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.8/LLVM-20.1.8-woa64.exe -OutFile LLVM-woa64.exe
97- Start-Process -FilePath ".\LLVM-woa64.exe" -ArgumentList "/S" -Wait
98- echo "C:\Program Files\LLVM\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
99- $env:PATH = "C:\Program Files\LLVM\bin;" + $env:PATH
100-
101- # $env:VCPKG_ROOT = "C:\vcpkg"
102- #git clone https://github.com/microsoft/vcpkg $env:VCPKG_ROOT
103- #& "$env:VCPKG_ROOT\bootstrap-vcpkg.bat"
104- #& "$env:VCPKG_ROOT\vcpkg.exe" install pkgconf:arm64-windows
105- #$pkgconfPath = "$env:VCPKG_ROOT\installed\arm64-windows\tools\pkgconf"
106- #Copy-Item "$pkgconfPath\pkgconf.exe" "$pkgconfPath\pkg-config.exe" -Force
107- #echo "$pkgconfPath" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
108-
109- #####
110- #- name: Install Fortran compiler - windows-arm
111- # When building on windows ARM, we need to use the MSVC toolchain
112- # if: ${{ matrix.os == 'windows-11-arm' }}
113- # uses: fortran-lang/setup-fortran@v1
114- # id: setup-fortran-windows-arm
115- # with:
116- # Only intel-classic supported by f2py
117- # # (https://numpy.org/devdocs/f2py/windows/intel.html#f2py-and-windows-intel-fortran)
118- # compiler: "intel-classic"
119- # version: "2021.10"
120-
12171 - name : Build wheels
12272 uses : pypa/cibuildwheel@v3.1.4 # matplotlib had v3.1.3
12373 with :
0 commit comments