@@ -21,19 +21,12 @@ jobs:
21
21
runs-on : ubuntu-latest
22
22
steps :
23
23
- uses : actions/checkout@v3
24
- with :
25
- submodules : recursive
26
24
27
25
- name : Set up Python
28
26
uses : actions/setup-python@v4
29
27
with :
30
28
python-version : " >=3.11.0"
31
29
32
- - name : Verify QuadBLAS submodule
33
- run : |
34
- ls -la quaddtype/numpy_quaddtype/QBLAS/
35
- ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
36
-
37
30
- name : Install cibuildwheel
38
31
run : pip install cibuildwheel==3.1.4
39
32
46
39
CIBW_BEFORE_ALL : |
47
40
yum update -y
48
41
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
42
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"
43
+ LDFLAGS="-fopenmp"
64
44
CIBW_REPAIR_WHEEL_COMMAND : |
65
45
auditwheel repair -w {dest_dir} --plat manylinux_2_28_x86_64 {wheel}
66
46
CIBW_TEST_COMMAND : |
89
69
90
70
steps :
91
71
- uses : actions/checkout@v3
92
- with :
93
- submodules : recursive
94
72
95
73
- name : Set up Python
96
74
uses : actions/setup-python@v4
@@ -107,27 +85,6 @@ jobs:
107
85
brew cleanup
108
86
brew install $packages
109
87
110
- - name : Install SLEEF
111
- env :
112
- MACOSX_DEPLOYMENT_TARGET : ${{ matrix.os == 'macos-13' && '13.0' || '14.0' }}
113
- run : |
114
- git clone --branch 3.8 https://github.com/shibatch/sleef.git
115
- cd sleef
116
- cmake -S . -B build \
117
- -DSLEEF_BUILD_QUAD:BOOL=ON \
118
- -DSLEEF_BUILD_SHARED_LIBS:BOOL=ON \
119
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
120
- -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.os == 'macos-13' && '13.0' || '14.0' }} \
121
- -DCMAKE_INSTALL_RPATH="@loader_path/../lib" \
122
- -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
123
- cmake --build build/ --clean-first -j
124
- sudo cmake --install build --prefix /usr/local
125
-
126
- - name : Verify QuadBLAS submodule
127
- run : |
128
- ls -la quaddtype/numpy_quaddtype/QBLAS/
129
- ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
130
-
131
88
- name : Installing Python dependencies
132
89
run : |
133
90
pip install -U pip
@@ -142,11 +99,6 @@ jobs:
142
99
CIBW_BUILD_VERBOSITY : " 3"
143
100
CIBW_ENVIRONMENT : >
144
101
MACOSX_DEPLOYMENT_TARGET="${{ matrix.os == 'macos-13' && '13.0' || '14.0' }}"
145
- DYLD_LIBRARY_PATH="/usr/local/lib:$DYLD_LIBRARY_PATH"
146
- CFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include $CFLAGS"
147
- CXXFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include $CXXFLAGS"
148
- LDFLAGS="-L/usr/local/lib $LDFLAGS"
149
- PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
150
102
CIBW_REPAIR_WHEEL_COMMAND : >
151
103
delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}
152
104
CIBW_TEST_COMMAND : |
@@ -176,8 +128,6 @@ jobs:
176
128
177
129
steps :
178
130
- uses : actions/checkout@v3
179
- with :
180
- submodules : recursive
181
131
182
132
- name : Setup MSVC
183
133
uses : ilammy/msvc-dev-cmd@v1
@@ -193,21 +143,6 @@ jobs:
193
143
- name : Install CMake
194
144
uses : lukka/get-cmake@latest
195
145
196
- - name : Verify QuadBLAS submodule
197
- shell : pwsh
198
- run : |
199
- Get-ChildItem quaddtype/numpy_quaddtype/QBLAS/
200
- Get-ChildItem quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
201
-
202
- - name : Clone and Build SLEEF
203
- shell : pwsh
204
- run : |
205
- git clone --branch 3.8 https://github.com/shibatch/sleef.git
206
- cd sleef
207
- 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
208
- cmake --build build --config Release
209
- cmake --install build --prefix "C:/sleef" --config Release
210
-
211
146
- name : Install build dependencies
212
147
shell : bash -l {0}
213
148
run : |
@@ -226,12 +161,8 @@ jobs:
226
161
CIBW_BEFORE_BUILD : |
227
162
pip install meson meson-python ninja numpy
228
163
CIBW_ENVIRONMENT : >
229
- INCLUDE="C:/sleef/include;{project}/numpy_quaddtype/QBLAS/include;$INCLUDE"
230
- LIB="C:/sleef/lib;$LIB"
231
- PATH="C:/sleef/bin;$PATH"
232
- CFLAGS="/IC:/sleef/include /I{project}/numpy_quaddtype/QBLAS/include /DDISABLE_QUADBLAS $CFLAGS"
233
- CXXFLAGS="/IC:/sleef/include /I{project}/numpy_quaddtype/QBLAS/include /DDISABLE_QUADBLAS $CXXFLAGS"
234
- LDFLAGS="C:/sleef/lib/sleef.lib C:/sleef/lib/sleefquad.lib $LDFLAGS"
164
+ CFLAGS="/DDISABLE_QUADBLAS $CFLAGS"
165
+ CXXFLAGS="/DDISABLE_QUADBLAS $CXXFLAGS"
235
166
CIBW_REPAIR_WHEEL_COMMAND : ' delvewheel repair -w {dest_dir} {wheel} --add-path C:\sleef\bin'
236
167
CIBW_TEST_COMMAND : |
237
168
pip install {package}[test]
@@ -258,49 +189,29 @@ jobs:
258
189
runs-on : ubuntu-latest
259
190
steps :
260
191
- uses : actions/checkout@v3
261
- with :
262
- submodules : recursive
263
192
264
193
- name : Set up Python
265
194
uses : actions/setup-python@v4
266
195
with :
267
196
python-version : " >=3.11.0"
268
197
269
- - name : Verify QuadBLAS submodule
270
- run : |
271
- ls -la quaddtype/numpy_quaddtype/QBLAS/
272
- ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
273
-
274
198
- name : Install system dependencies
275
199
run : |
276
200
sudo apt-get update -y
277
201
sudo apt-get install -y cmake gcc g++ make git pkg-config
278
202
279
- - name : Install SLEEF
280
- run : |
281
- git clone --branch 3.8 https://github.com/shibatch/sleef.git
282
- cd sleef
283
- cmake -S . -B build \
284
- -DSLEEF_BUILD_QUAD:BOOL=ON \
285
- -DSLEEF_BUILD_SHARED_LIBS:BOOL=ON \
286
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON
287
- cmake --build build/ --clean-first -j
288
- sudo cmake --install build --prefix /usr/local
289
-
290
203
- name : Install build dependencies
291
204
run : |
292
205
python -m pip install --upgrade pip
293
- python -m pip install build
206
+ python -m pip install build pytest
294
207
295
- - name : Build SDist
208
+ - name : Build SDist & test sdist
296
209
env :
297
- CFLAGS : " -I/usr/local/include -I$(pwd)/numpy_quaddtype/QBLAS/include"
298
- CXXFLAGS : " -I/usr/local/include -I$(pwd)/numpy_quaddtype/QBLAS/include -fext-numeric-literals"
299
- LDFLAGS : " -L/usr/local/lib64 -L/usr/local/lib -Wl,-rpath,/usr/local/lib64 -Wl,-rpath,/usr/local/lib -fopenmp"
300
- LD_LIBRARY_PATH : " /usr/local/lib64:/usr/local/lib:$LD_LIBRARY_PATH"
301
- PKG_CONFIG_PATH : " /usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
210
+ LDFLAGS : " -fopenmp"
302
211
run : |
303
212
python -m build --sdist --outdir dist/
213
+ pip install dist/*.tar.gz -v
214
+ pytest -s tests
304
215
working-directory : ./quaddtype
305
216
306
217
- name : Upload SDist artifact
0 commit comments