Skip to content

Commit abf0224

Browse files
committed
fixing windows CI
1 parent cd88de0 commit abf0224

File tree

1 file changed

+71
-96
lines changed

1 file changed

+71
-96
lines changed

.github/workflows/build_wheels.yml

Lines changed: 71 additions & 96 deletions
Original file line numberDiff line numberDiff line change
@@ -145,111 +145,86 @@ jobs:
145145
path: ./quaddtype/wheelhouse/*.whl
146146
name: wheels-${{ matrix.os }}
147147

148-
# build_wheels_windows:
149-
# name: Build wheels on Windows
150-
# runs-on: windows-latest
151-
# strategy:
152-
# matrix:
153-
# architecture: [x64]
154-
155-
# steps:
156-
# - uses: actions/checkout@v3
157-
# with:
158-
# submodules: recursive
159-
160-
# - name: Setup MSVC
161-
# uses: ilammy/msvc-dev-cmd@v1
162-
# with:
163-
# arch: ${{ matrix.architecture }}
148+
build_wheels_windows:
149+
name: Build wheels on Windows
150+
runs-on: windows-latest
151+
strategy:
152+
matrix:
153+
architecture: [x64]
164154

165-
# - name: Set up Python 3.10
166-
# uses: actions/setup-python@v4
167-
# with:
168-
# python-version: "3.10"
169-
# architecture: ${{ matrix.architecture }}
155+
steps:
156+
- uses: actions/checkout@v3
157+
with:
158+
submodules: recursive
170159

171-
# - name: Install CMake
172-
# uses: lukka/get-cmake@latest
160+
- name: Setup MSVC
161+
uses: ilammy/msvc-dev-cmd@v1
162+
with:
163+
arch: ${{ matrix.architecture }}
173164

174-
# - name: Verify QuadBLAS submodule
175-
# shell: pwsh
176-
# run: |
177-
# Get-ChildItem quaddtype/numpy_quaddtype/QBLAS/
178-
# Get-ChildItem quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
165+
- name: Set up Python 3.10
166+
uses: actions/setup-python@v4
167+
with:
168+
python-version: "3.10"
169+
architecture: ${{ matrix.architecture }}
179170

180-
# - name: Clone and Build SLEEF
181-
# shell: pwsh
182-
# run: |
183-
# git clone --branch 3.8 --depth 1 https://github.com/shibatch/sleef.git
184-
# cd sleef
185-
# cmake -S . -B build -G "Visual Studio 17 2022" -A ${{ matrix.architecture == 'x86' && 'Win32' || 'x64' }} -DSLEEF_BUILD_QUAD:BOOL=ON -DSLEEF_BUILD_SHARED_LIBS:BOOL=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON
186-
# cmake --build build --config Release
187-
# cmake --install build --prefix "C:/sleef" --config Release
171+
- name: Install CMake
172+
uses: lukka/get-cmake@latest
188173

189-
# - name: Install QuadBLAS headers from submodule
190-
# shell: pwsh
191-
# run: |
192-
# New-Item -ItemType Directory -Force -Path "C:/quadblas/include"
193-
# Copy-Item -Recurse -Force "quaddtype/numpy_quaddtype/QBLAS/include/quadblas" "C:/quadblas/include/"
174+
- name: Verify QuadBLAS submodule
175+
shell: pwsh
176+
run: |
177+
Get-ChildItem quaddtype/numpy_quaddtype/QBLAS/
178+
Get-ChildItem quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
194179
195-
# - name: Setup build environment
196-
# shell: pwsh
197-
# run: |
198-
# $env:INCLUDE += ";C:\sleef\include;C:\quadblas\include"
199-
# $env:LIB += ";C:\sleef\lib"
200-
# $env:PATH = "C:\sleef\bin;$env:PATH"
201-
# echo "INCLUDE=$env:INCLUDE" >> $env:GITHUB_ENV
202-
# echo "LIB=$env:LIB" >> $env:GITHUB_ENV
203-
# echo "PATH=$env:PATH" >> $env:GITHUB_ENV
180+
- name: Clone and Build SLEEF
181+
shell: pwsh
182+
run: |
183+
git clone --branch 3.8 https://github.com/shibatch/sleef.git
184+
cd sleef
185+
cmake -S . -B build -G "Visual Studio 17 2022" -A ${{ matrix.architecture == 'x86' && 'Win32' || 'x64' }} -DSLEEF_BUILD_QUAD:BOOL=ON -DSLEEF_BUILD_SHARED_LIBS:BOOL=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON
186+
cmake --build build --config Release
187+
cmake --install build --prefix "C:/sleef" --config Release
204188
205-
# - name: Install build dependencies
206-
# shell: bash -l {0}
207-
# run: |
208-
# pip install -U pip
209-
# pip install cibuildwheel==2.20.0 ninja meson meson-python numpy delvewheel pytest
189+
- name: Install build dependencies
190+
shell: bash -l {0}
191+
run: |
192+
pip install -U pip
193+
pip install cibuildwheel==2.20.0 ninja meson meson-python numpy delvewheel pytest
210194
211-
# - name: Build wheels
212-
# env:
213-
# CIBW_BUILD: "cp310-* cp311-* cp312-*"
214-
# CIBW_SKIP: "pp* cp36-* cp37-* cp38-* cp39-* cp313-*"
215-
# CIBW_ARCHS_WINDOWS: ${{ matrix.architecture == 'x86' && 'x86' || 'AMD64' }}
216-
# CIBW_BUILD_VERBOSITY: "3"
217-
# DISTUTILS_USE_SDK: "1"
218-
# MSSdk: "1"
219-
# CIBW_BEFORE_ALL: |
220-
# git clone --branch 3.8 --depth 1 https://github.com/shibatch/sleef.git
221-
# cd sleef
222-
# cmake -S . -B build -G "Visual Studio 17 2022" -A ${{ matrix.architecture == 'x86' && 'Win32' || 'x64' }} -DSLEEF_BUILD_QUAD:BOOL=ON -DSLEEF_BUILD_SHARED_LIBS:BOOL=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON
223-
# cmake --build build --config Release
224-
# cmake --install build --prefix "C:/sleef" --config Release
225-
# cd ..
226-
# mkdir -p C:/quadblas/include
227-
# cp -r quaddtype/numpy_quaddtype/QBLAS/include/quadblas C:/quadblas/include/
228-
# CIBW_BEFORE_BUILD: |
229-
# pip install meson meson-python ninja numpy
230-
# CIBW_ENVIRONMENT: >
231-
# INCLUDE="C:/sleef/include;C:/quadblas/include;$INCLUDE"
232-
# LIB="C:/sleef/lib;$LIB"
233-
# PATH="C:/sleef/bin;$PATH"
234-
# CFLAGS="/IC:/sleef/include /IC:/quadblas/include $CFLAGS"
235-
# CXXFLAGS="/IC:/sleef/include /IC:/quadblas/include /std:c++17 $CXXFLAGS"
236-
# LDFLAGS="C:/sleef/lib/sleef.lib C:/sleef/lib/sleefquad.lib $LDFLAGS"
237-
# CIBW_REPAIR_WHEEL_COMMAND: 'delvewheel repair -w {dest_dir} {wheel} --add-path C:\sleef\bin'
238-
# CIBW_TEST_COMMAND: |
239-
# pip install {package}[test]
240-
# python -m pytest -v {project}/test
241-
# CIBW_TEST_EXTRAS: test
242-
# CIBW_TEST_FAIL_FAST: 1
243-
# shell: pwsh
244-
# run: |
245-
# python -m cibuildwheel --output-dir wheelhouse
246-
# if (-not (Test-Path wheelhouse/*.whl)) { throw "Wheel was not created" }
247-
# working-directory: ./quaddtype
195+
- name: Build wheels
196+
env:
197+
CIBW_BUILD: "cp310-* cp311-* cp312-*"
198+
CIBW_SKIP: "pp* cp36-* cp37-* cp38-* cp39-* cp313-*"
199+
CIBW_ARCHS_WINDOWS: ${{ matrix.architecture == 'x86' && 'x86' || 'AMD64' }}
200+
CIBW_BUILD_VERBOSITY: "3"
201+
DISTUTILS_USE_SDK: "1"
202+
MSSdk: "1"
203+
CIBW_BEFORE_BUILD: |
204+
pip install meson meson-python ninja numpy
205+
CIBW_ENVIRONMENT: >
206+
INCLUDE="C:/sleef/include;{project}/numpy_quaddtype/QBLAS/include;$INCLUDE"
207+
LIB="C:/sleef/lib;$LIB"
208+
PATH="C:/sleef/bin;$PATH"
209+
CFLAGS="/IC:/sleef/include /I{project}/numpy_quaddtype/QBLAS/include $CFLAGS"
210+
CXXFLAGS="/IC:/sleef/include /I{project}/numpy_quaddtype/QBLAS/include $CXXFLAGS"
211+
LDFLAGS="C:/sleef/lib/sleef.lib C:/sleef/lib/sleefquad.lib $LDFLAGS"
212+
CIBW_REPAIR_WHEEL_COMMAND: 'delvewheel repair -w {dest_dir} {wheel} --add-path C:\sleef\bin'
213+
CIBW_TEST_COMMAND: |
214+
pip install {package}[test]
215+
pytest -s {project}/tests
216+
CIBW_TEST_EXTRAS: test
217+
CIBW_TEST_FAIL_FAST: 1
218+
shell: pwsh
219+
run: |
220+
python -m cibuildwheel --output-dir wheelhouse
221+
if (-not (Test-Path wheelhouse/*.whl)) { throw "Wheel was not created" }
222+
working-directory: ./quaddtype
248223

249-
# - uses: actions/upload-artifact@v4
250-
# with:
251-
# path: ./quaddtype/wheelhouse/*.whl
252-
# name: wheels-windows-${{ matrix.architecture }}
224+
- uses: actions/upload-artifact@v4
225+
with:
226+
path: ./quaddtype/wheelhouse/*.whl
227+
name: wheels-windows-${{ matrix.architecture }}
253228

254229
# publish_to_pypi:
255230
# name: Publish to PyPI

0 commit comments

Comments
 (0)