5757 runs-on : ${{ matrix.runs-on }}
5858 strategy :
5959 matrix :
60- os : [ linux-intel, linux-arm, macos-arm ]
60+ os : [ linux-intel, linux-arm, macos-arm, windows-intel ]
6161 include :
6262 - archs : native
6363 platform : auto
6767 runs-on : aarch64
6868 - os : macos-arm
6969 runs-on : macos-15
70-
70+ - os : windows-intel
71+ runs-on : windows-latest
7172 steps :
7273 - uses : actions/checkout@v6
7374 with :
9596 # install symengine
9697 PREFIX="${SYMEMENGINE_PREFIX:-$HOME/.local}"
9798 ./tools/install-deps.sh "$PREFIX"
99+ CIBW_BEFORE_ALL_WINDOWS : |
100+ choco install -y gmp
101+ # install symengine
102+ ./tools/install-deps.bat
98103 # do not activate architecture-dependent compiler flags
99104 # 4 jobs in parallel, but do not start new ones if load average exceeds 5
100105 CIBW_ENVIRONMENT_LINUX : >
@@ -115,7 +120,9 @@ jobs:
115120 LDFLAGS="-L${GMP_PREFIX}/lib ${LDFLAGS}"
116121 PKG_CONFIG_PATH="${GMP_PREFIX}/lib/pkgconfig:${PKG_CONFIG_PATH}"
117122 CMAKE_PREFIX_PATH="${GMP_PREFIX}:$HOME/.local:${CMAKE_PREFIX_PATH}"
118-
123+ CIBW_ENVIRONMENT_WINDOWS : >
124+ CIBW="true"
125+
119126 # build 3.10, 3.11, 3.12, 3.13 (with GIL), and 3.14 (with GIL)
120127 CIBW_BUILD : " cp310-* cp311-* cp312-* cp313-* cp314-*"
121128 # skip musl builds, and PyPy builds
@@ -130,6 +137,13 @@ jobs:
130137 fi
131138 # use abi3audit to catch issues with Limited API wheels
132139 CIBW_REPAIR_WHEEL_COMMAND_MACOS : |
140+ delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}
141+ if [[ "{wheel}" == *abi3* ]]; then
142+ pipx run abi3audit --strict --report {wheel}
143+ else
144+ echo "{wheel} is not abi3, skipping abi3audit"
145+ fi
146+ CIBW_REPAIR_WHEEL_COMMAND_WINDOWS : |
133147 delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}
134148 if [[ "{wheel}" == *abi3* ]]; then
135149 pipx run abi3audit --strict --report {wheel}
0 commit comments