Skip to content

Commit ccf066d

Browse files
committed
checking windows
1 parent 8359f0c commit ccf066d

File tree

1 file changed

+134
-129
lines changed

1 file changed

+134
-129
lines changed

.github/workflows/build_wheels.yml

Lines changed: 134 additions & 129 deletions
Original file line numberDiff line numberDiff line change
@@ -16,69 +16,69 @@ on:
1616
workflow_dispatch:
1717

1818
jobs:
19-
build_wheels_linux:
20-
name: Build wheels on Linux
21-
runs-on: ubuntu-latest
22-
steps:
23-
- uses: actions/checkout@v3
24-
with:
25-
submodules: recursive
19+
# build_wheels_linux:
20+
# name: Build wheels on Linux
21+
# runs-on: ubuntu-latest
22+
# steps:
23+
# - uses: actions/checkout@v3
24+
# with:
25+
# submodules: recursive
2626

27-
- name: Set up Python
28-
uses: actions/setup-python@v4
29-
with:
30-
python-version: ">=3.11.0"
27+
# - name: Set up Python
28+
# uses: actions/setup-python@v4
29+
# with:
30+
# python-version: ">=3.11.0"
3131

32-
- name: Verify QuadBLAS submodule
33-
run: |
34-
ls -la quaddtype/numpy_quaddtype/QBLAS/
35-
ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
32+
# - name: Verify QuadBLAS submodule
33+
# run: |
34+
# ls -la quaddtype/numpy_quaddtype/QBLAS/
35+
# ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
3636

37-
- name: Install cibuildwheel
38-
run: pip install cibuildwheel==3.1.4
37+
# - name: Install cibuildwheel
38+
# run: pip install cibuildwheel==3.1.4
3939

40-
- name: Build wheels
41-
env:
42-
CIBW_BUILD: "cp310-manylinux_x86_64 cp311-manylinux_x86_64 cp312-manylinux_x86_64 cp313-manylinux_x86_64 cp313t-manylinux_x86_64 cp314-manylinux_x86_64 cp314t-manylinux_x86_64"
43-
CIBW_ENABLE: cpython-prerelease cpython-freethreading
44-
CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
45-
CIBW_BUILD_VERBOSITY: "3"
46-
CIBW_BEFORE_ALL: |
47-
yum update -y
48-
yum install -y cmake gcc gcc-c++ make git pkgconfig
49-
# Install SLEEF in container
50-
git clone --branch 3.8 https://github.com/shibatch/sleef.git
51-
cd sleef
52-
cmake -S . -B build \
53-
-DSLEEF_BUILD_QUAD:BOOL=ON \
54-
-DSLEEF_BUILD_SHARED_LIBS:BOOL=ON \
55-
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
56-
cmake --build build/ --clean-first -j
57-
cmake --install build --prefix /usr/local
58-
CIBW_ENVIRONMENT: >
59-
CFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include $CFLAGS"
60-
CXXFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include -fext-numeric-literals $CXXFLAGS"
61-
LDFLAGS="-L/usr/local/lib64 -L/usr/local/lib -Wl,-rpath,/usr/local/lib64 -Wl,-rpath,/usr/local/lib -fopenmp $LDFLAGS"
62-
LD_LIBRARY_PATH="/usr/local/lib64:/usr/local/lib:$LD_LIBRARY_PATH"
63-
PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
64-
CIBW_REPAIR_WHEEL_COMMAND: |
65-
auditwheel repair -w {dest_dir} --plat manylinux_2_28_x86_64 {wheel}
66-
CIBW_TEST_COMMAND: |
67-
pip install {package}[test]
68-
if python -c "import sys; exit(0 if hasattr(sys, '_is_gil_enabled') and not sys._is_gil_enabled() else 1)"; then
69-
pytest --parallel-threads=10 --iterations=10 {project}/tests
70-
else
71-
pytest -s {project}/tests
72-
fi
73-
CIBW_TEST_EXTRAS: "test"
74-
run: |
75-
python -m cibuildwheel --output-dir wheelhouse
76-
working-directory: ./quaddtype
40+
# - name: Build wheels
41+
# env:
42+
# CIBW_BUILD: "cp310-manylinux_x86_64 cp311-manylinux_x86_64 cp312-manylinux_x86_64 cp313-manylinux_x86_64 cp313t-manylinux_x86_64 cp314-manylinux_x86_64 cp314t-manylinux_x86_64"
43+
# CIBW_ENABLE: cpython-prerelease cpython-freethreading
44+
# CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
45+
# CIBW_BUILD_VERBOSITY: "3"
46+
# CIBW_BEFORE_ALL: |
47+
# yum update -y
48+
# yum install -y cmake gcc gcc-c++ make git pkgconfig
49+
# # Install SLEEF in container
50+
# git clone --branch 3.8 https://github.com/shibatch/sleef.git
51+
# cd sleef
52+
# cmake -S . -B build \
53+
# -DSLEEF_BUILD_QUAD:BOOL=ON \
54+
# -DSLEEF_BUILD_SHARED_LIBS:BOOL=ON \
55+
# -DCMAKE_POSITION_INDEPENDENT_CODE=ON
56+
# cmake --build build/ --clean-first -j
57+
# cmake --install build --prefix /usr/local
58+
# CIBW_ENVIRONMENT: >
59+
# CFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include $CFLAGS"
60+
# CXXFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include -fext-numeric-literals $CXXFLAGS"
61+
# LDFLAGS="-L/usr/local/lib64 -L/usr/local/lib -Wl,-rpath,/usr/local/lib64 -Wl,-rpath,/usr/local/lib -fopenmp $LDFLAGS"
62+
# LD_LIBRARY_PATH="/usr/local/lib64:/usr/local/lib:$LD_LIBRARY_PATH"
63+
# PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
64+
# CIBW_REPAIR_WHEEL_COMMAND: |
65+
# auditwheel repair -w {dest_dir} --plat manylinux_2_28_x86_64 {wheel}
66+
# CIBW_TEST_COMMAND: |
67+
# pip install {package}[test]
68+
# if python -c "import sys; exit(0 if hasattr(sys, '_is_gil_enabled') and not sys._is_gil_enabled() else 1)"; then
69+
# pytest --parallel-threads=10 --iterations=10 {project}/tests
70+
# else
71+
# pytest -s {project}/tests
72+
# fi
73+
# CIBW_TEST_EXTRAS: "test"
74+
# run: |
75+
# python -m cibuildwheel --output-dir wheelhouse
76+
# working-directory: ./quaddtype
7777

78-
- uses: actions/upload-artifact@v4
79-
with:
80-
path: ./quaddtype/wheelhouse/*.whl
81-
name: wheels-linux
78+
# - uses: actions/upload-artifact@v4
79+
# with:
80+
# path: ./quaddtype/wheelhouse/*.whl
81+
# name: wheels-linux
8282

8383
# build_wheels_macos:
8484
# name: Build wheels on ${{ matrix.os }}
@@ -161,86 +161,91 @@ jobs:
161161
# name: wheels-${{ matrix.os }}
162162

163163
# disabling QBLAS optimization for windows due to incompatibility with MSVC
164-
# build_wheels_windows:
165-
# name: Build wheels on Windows
166-
# runs-on: windows-latest
167-
# strategy:
168-
# matrix:
169-
# architecture: [x64]
164+
build_wheels_windows:
165+
name: Build wheels on Windows
166+
runs-on: windows-latest
167+
strategy:
168+
matrix:
169+
architecture: [x64]
170170

171-
# steps:
172-
# - uses: actions/checkout@v3
173-
# with:
174-
# submodules: recursive
171+
steps:
172+
- uses: actions/checkout@v3
173+
with:
174+
submodules: recursive
175175

176-
# - name: Setup MSVC
177-
# uses: ilammy/msvc-dev-cmd@v1
178-
# with:
179-
# arch: ${{ matrix.architecture }}
176+
- name: Setup MSVC
177+
uses: ilammy/msvc-dev-cmd@v1
178+
with:
179+
arch: ${{ matrix.architecture }}
180180

181-
# - name: Set up Python
182-
# uses: actions/setup-python@v4
183-
# with:
184-
# python-version: ">=3.11.0"
185-
# architecture: ${{ matrix.architecture }}
181+
- name: Set up Python
182+
uses: actions/setup-python@v4
183+
with:
184+
python-version: ">=3.11.0"
185+
architecture: ${{ matrix.architecture }}
186186

187-
# - name: Install CMake
188-
# uses: lukka/get-cmake@latest
187+
- name: Install CMake
188+
uses: lukka/get-cmake@latest
189189

190-
# - name: Verify QuadBLAS submodule
191-
# shell: pwsh
192-
# run: |
193-
# Get-ChildItem quaddtype/numpy_quaddtype/QBLAS/
194-
# Get-ChildItem quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
190+
- name: Verify QuadBLAS submodule
191+
shell: pwsh
192+
run: |
193+
Get-ChildItem quaddtype/numpy_quaddtype/QBLAS/
194+
Get-ChildItem quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
195195
196-
# - name: Clone and Build SLEEF
197-
# shell: pwsh
198-
# run: |
199-
# git clone --branch 3.8 https://github.com/shibatch/sleef.git
200-
# cd sleef
201-
# 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
202-
# cmake --build build --config Release
203-
# cmake --install build --prefix "C:/sleef" --config Release
196+
- name: Clone and Build SLEEF
197+
shell: pwsh
198+
run: |
199+
git clone --branch 3.8 https://github.com/shibatch/sleef.git
200+
cd sleef
201+
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
202+
cmake --build build --config Release
203+
cmake --install build --prefix "C:/sleef" --config Release
204204
205-
# - name: Install build dependencies
206-
# shell: bash -l {0}
207-
# run: |
208-
# pip install -U pip
209-
# pip install cibuildwheel==3.1.4 ninja meson meson-python numpy delvewheel pytest
205+
- name: Install build dependencies
206+
shell: bash -l {0}
207+
run: |
208+
pip install -U pip
209+
pip install cibuildwheel==3.1.4 ninja meson meson-python numpy delvewheel pytest
210210
211-
# - name: Build wheels
212-
# env:
213-
# CIBW_BUILD: "cp310-* cp311-* cp312-* cp313-* cp314-*"
214-
# CIBW_SKIP: "pp* cp36-* cp37-* cp38-* cp39-*"
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_BUILD: |
220-
# pip install meson meson-python ninja numpy
221-
# CIBW_ENVIRONMENT: >
222-
# INCLUDE="C:/sleef/include;{project}/numpy_quaddtype/QBLAS/include;$INCLUDE"
223-
# LIB="C:/sleef/lib;$LIB"
224-
# PATH="C:/sleef/bin;$PATH"
225-
# CFLAGS="/IC:/sleef/include /I{project}/numpy_quaddtype/QBLAS/include /DDISABLE_QUADBLAS $CFLAGS"
226-
# CXXFLAGS="/IC:/sleef/include /I{project}/numpy_quaddtype/QBLAS/include /DDISABLE_QUADBLAS $CXXFLAGS"
227-
# LDFLAGS="C:/sleef/lib/sleef.lib C:/sleef/lib/sleefquad.lib $LDFLAGS"
228-
# CIBW_REPAIR_WHEEL_COMMAND: 'delvewheel repair -w {dest_dir} {wheel} --add-path C:\sleef\bin'
229-
# CIBW_TEST_COMMAND: |
230-
# pip install {package}[test]
231-
# pytest -s {project}/tests
232-
# CIBW_TEST_EXTRAS: test
233-
# CIBW_TEST_FAIL_FAST: 1
234-
# shell: pwsh
235-
# run: |
236-
# python -m cibuildwheel --output-dir wheelhouse
237-
# if (-not (Test-Path wheelhouse/*.whl)) { throw "Wheel was not created" }
238-
# working-directory: ./quaddtype
211+
- name: Build wheels
212+
env:
213+
CIBW_BUILD: "cp310-* cp311-* cp312-* cp313-* cp314-* cp313t-* cp314t-*"
214+
CIBW_ENABLE: cpython-prerelease cpython-freethreading
215+
CIBW_SKIP: "pp* cp36-* cp37-* cp38-* cp39-*"
216+
CIBW_ARCHS_WINDOWS: ${{ matrix.architecture == 'x86' && 'x86' || 'AMD64' }}
217+
CIBW_BUILD_VERBOSITY: "3"
218+
DISTUTILS_USE_SDK: "1"
219+
MSSdk: "1"
220+
CIBW_BEFORE_BUILD: |
221+
pip install meson meson-python ninja numpy
222+
CIBW_ENVIRONMENT: >
223+
INCLUDE="C:/sleef/include;{project}/numpy_quaddtype/QBLAS/include;$INCLUDE"
224+
LIB="C:/sleef/lib;$LIB"
225+
PATH="C:/sleef/bin;$PATH"
226+
CFLAGS="/IC:/sleef/include /I{project}/numpy_quaddtype/QBLAS/include /DDISABLE_QUADBLAS $CFLAGS"
227+
CXXFLAGS="/IC:/sleef/include /I{project}/numpy_quaddtype/QBLAS/include /DDISABLE_QUADBLAS $CXXFLAGS"
228+
LDFLAGS="C:/sleef/lib/sleef.lib C:/sleef/lib/sleefquad.lib $LDFLAGS"
229+
CIBW_REPAIR_WHEEL_COMMAND: 'delvewheel repair -w {dest_dir} {wheel} --add-path C:\sleef\bin'
230+
CIBW_TEST_COMMAND: |
231+
pip install {package}[test]
232+
if python -c "import sys; exit(0 if hasattr(sys, '_is_gil_enabled') and not sys._is_gil_enabled() else 1)"; then
233+
pytest --parallel-threads=10 --iterations=10 {project}/tests
234+
else
235+
pytest -s {project}/tests
236+
fi
237+
CIBW_TEST_EXTRAS: test
238+
CIBW_TEST_FAIL_FAST: 1
239+
shell: pwsh
240+
run: |
241+
python -m cibuildwheel --output-dir wheelhouse
242+
if (-not (Test-Path wheelhouse/*.whl)) { throw "Wheel was not created" }
243+
working-directory: ./quaddtype
239244

240-
# - uses: actions/upload-artifact@v4
241-
# with:
242-
# path: ./quaddtype/wheelhouse/*.whl
243-
# name: wheels-windows-${{ matrix.architecture }}
245+
- uses: actions/upload-artifact@v4
246+
with:
247+
path: ./quaddtype/wheelhouse/*.whl
248+
name: wheels-windows-${{ matrix.architecture }}
244249

245250
# publish_to_pypi:
246251
# name: Publish to PyPI

0 commit comments

Comments
 (0)