16
16
workflow_dispatch :
17
17
18
18
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
26
-
27
- # - name: Set up Python
28
- # uses: actions/setup-python@v4
29
- # with:
30
- # python-version: ">=3.11.0"
31
-
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
- # - name: Install cibuildwheel
38
- # run: pip install cibuildwheel==3.1.4
39
-
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 cp314-manylinux_x86_64"
43
- # CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_28
44
- # CIBW_BUILD_VERBOSITY: "3"
45
- # CIBW_BEFORE_ALL: |
46
- # yum update -y
47
- # yum install -y cmake gcc gcc-c++ make git pkgconfig
48
- # # Install SLEEF in container
49
- # git clone --branch 3.8 https://github.com/shibatch/sleef.git
50
- # cd sleef
51
- # cmake -S . -B build \
52
- # -DSLEEF_BUILD_QUAD:BOOL=ON \
53
- # -DSLEEF_BUILD_SHARED_LIBS:BOOL=ON \
54
- # -DCMAKE_POSITION_INDEPENDENT_CODE=ON
55
- # cmake --build build/ --clean-first -j
56
- # cmake --install build --prefix /usr/local
57
- # CIBW_ENVIRONMENT: >
58
- # CFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include $CFLAGS"
59
- # CXXFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include -fext-numeric-literals $CXXFLAGS"
60
- # LDFLAGS="-L/usr/local/lib64 -L/usr/local/lib -Wl,-rpath,/usr/local/lib64 -Wl,-rpath,/usr/local/lib -fopenmp $LDFLAGS"
61
- # LD_LIBRARY_PATH="/usr/local/lib64:/usr/local/lib:$LD_LIBRARY_PATH"
62
- # PKG_CONFIG_PATH="/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
63
- # CIBW_REPAIR_WHEEL_COMMAND: |
64
- # auditwheel repair -w {dest_dir} --plat manylinux_2_28_x86_64 {wheel}
65
- # CIBW_TEST_COMMAND: |
66
- # pip install {package}[test]
67
- # pytest -s {project}/tests
68
- # CIBW_TEST_EXTRAS: "test"
69
- # run: |
70
- # python -m cibuildwheel --output-dir wheelhouse
71
- # working-directory: ./quaddtype
72
-
73
- # - uses: actions/upload-artifact@v4
74
- # with:
75
- # path: ./quaddtype/wheelhouse/*.whl
76
- # name: wheels-linux
77
-
78
- build_wheels_macos :
79
- name : Build wheels on ${{ matrix.os }}
80
- runs-on : ${{ matrix.os }}
81
- strategy :
82
- matrix :
83
- os : [macos-13, macos-14]
84
-
19
+ build_wheels_linux :
20
+ name : Build wheels on Linux
21
+ runs-on : ubuntu-latest
85
22
steps :
86
23
- uses : actions/checkout@v3
87
24
with :
@@ -92,52 +29,40 @@ jobs:
92
29
with :
93
30
python-version : " >=3.11.0"
94
31
95
- - name : Install dependencies
96
- run : |
97
- brew install cmake libomp git
98
-
99
- - name : Install SLEEF
100
- env :
101
- MACOSX_DEPLOYMENT_TARGET : ${{ matrix.os == 'macos-13' && '13.0' || '14.0' }}
102
- run : |
103
- git clone --branch 3.8 https://github.com/shibatch/sleef.git
104
- cd sleef
105
- cmake -S . -B build \
106
- -DSLEEF_BUILD_QUAD:BOOL=ON \
107
- -DSLEEF_BUILD_SHARED_LIBS:BOOL=ON \
108
- -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
109
- -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.os == 'macos-13' && '13.0' || '14.0' }} \
110
- -DCMAKE_INSTALL_RPATH="@loader_path/../lib" \
111
- -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
112
- cmake --build build/ --clean-first -j
113
- sudo cmake --install build --prefix /usr/local
114
-
115
32
- name : Verify QuadBLAS submodule
116
33
run : |
117
34
ls -la quaddtype/numpy_quaddtype/QBLAS/
118
35
ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
119
36
120
- - name : Installing Python dependencies
121
- run : |
122
- pip install -U pip
123
- pip install cibuildwheel==3.1.4
124
- pip install pytest-run-parallel
37
+ - name : Install cibuildwheel
38
+ run : pip install cibuildwheel==3.1.4
125
39
126
40
- name : Build wheels
127
41
env :
128
- CIBW_BUILD : " cp314-* cp313t-* cp314t-* "
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 "
129
43
CIBW_ENABLE : cpython-prerelease cpython-freethreading
130
- CIBW_ARCHS_MACOS : ${{ matrix.os == 'macos-13' && 'x86_64' || 'arm64' }}
44
+ CIBW_MANYLINUX_X86_64_IMAGE : manylinux_2_28
131
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
132
58
CIBW_ENVIRONMENT : >
133
- MACOSX_DEPLOYMENT_TARGET="${{ matrix.os == 'macos-13' && '13.0' || '14.0' }}"
134
- DYLD_LIBRARY_PATH="/usr/local/lib:$DYLD_LIBRARY_PATH"
135
59
CFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include $CFLAGS"
136
- CXXFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include $CXXFLAGS"
137
- LDFLAGS="-L/usr/local/lib $LDFLAGS"
138
- PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
139
- CIBW_REPAIR_WHEEL_COMMAND : >
140
- delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}
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}
141
66
CIBW_TEST_COMMAND : |
142
67
pip install {package}[test]
143
68
if python -c "import sys; exit(0 if hasattr(sys, '_is_gil_enabled') and not sys._is_gil_enabled() else 1)"; then
@@ -153,7 +78,87 @@ jobs:
153
78
- uses : actions/upload-artifact@v4
154
79
with :
155
80
path : ./quaddtype/wheelhouse/*.whl
156
- name : wheels-${{ matrix.os }}
81
+ name : wheels-linux
82
+
83
+ # build_wheels_macos:
84
+ # name: Build wheels on ${{ matrix.os }}
85
+ # runs-on: ${{ matrix.os }}
86
+ # strategy:
87
+ # matrix:
88
+ # os: [macos-13, macos-14]
89
+
90
+ # steps:
91
+ # - uses: actions/checkout@v3
92
+ # with:
93
+ # submodules: recursive
94
+
95
+ # - name: Set up Python
96
+ # uses: actions/setup-python@v4
97
+ # with:
98
+ # python-version: ">=3.11.0"
99
+
100
+ # - name: Install dependencies
101
+ # run: |
102
+ # brew install cmake libomp git
103
+
104
+ # - name: Install SLEEF
105
+ # env:
106
+ # MACOSX_DEPLOYMENT_TARGET: ${{ matrix.os == 'macos-13' && '13.0' || '14.0' }}
107
+ # run: |
108
+ # git clone --branch 3.8 https://github.com/shibatch/sleef.git
109
+ # cd sleef
110
+ # cmake -S . -B build \
111
+ # -DSLEEF_BUILD_QUAD:BOOL=ON \
112
+ # -DSLEEF_BUILD_SHARED_LIBS:BOOL=ON \
113
+ # -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
114
+ # -DCMAKE_OSX_DEPLOYMENT_TARGET=${{ matrix.os == 'macos-13' && '13.0' || '14.0' }} \
115
+ # -DCMAKE_INSTALL_RPATH="@loader_path/../lib" \
116
+ # -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
117
+ # cmake --build build/ --clean-first -j
118
+ # sudo cmake --install build --prefix /usr/local
119
+
120
+ # - name: Verify QuadBLAS submodule
121
+ # run: |
122
+ # ls -la quaddtype/numpy_quaddtype/QBLAS/
123
+ # ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
124
+
125
+ # - name: Installing Python dependencies
126
+ # run: |
127
+ # pip install -U pip
128
+ # pip install cibuildwheel==3.1.4
129
+ # pip install pytest-run-parallel
130
+
131
+ # - name: Build wheels
132
+ # env:
133
+ # CIBW_BUILD: "cp310-* cp311-* cp312-* cp313-* cp314-* cp313t-* cp314t-*"
134
+ # CIBW_ENABLE: cpython-prerelease cpython-freethreading
135
+ # CIBW_ARCHS_MACOS: ${{ matrix.os == 'macos-13' && 'x86_64' || 'arm64' }}
136
+ # CIBW_BUILD_VERBOSITY: "3"
137
+ # CIBW_ENVIRONMENT: >
138
+ # MACOSX_DEPLOYMENT_TARGET="${{ matrix.os == 'macos-13' && '13.0' || '14.0' }}"
139
+ # DYLD_LIBRARY_PATH="/usr/local/lib:$DYLD_LIBRARY_PATH"
140
+ # CFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include $CFLAGS"
141
+ # CXXFLAGS="-I/usr/local/include -I{project}/numpy_quaddtype/QBLAS/include $CXXFLAGS"
142
+ # LDFLAGS="-L/usr/local/lib $LDFLAGS"
143
+ # PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
144
+ # CIBW_REPAIR_WHEEL_COMMAND: >
145
+ # delocate-wheel --require-archs {delocate_archs} -w {dest_dir} -v {wheel}
146
+ # CIBW_TEST_COMMAND: |
147
+ # pip install {package}[test]
148
+ # if python -c "import sys; exit(0 if hasattr(sys, '_is_gil_enabled') and not sys._is_gil_enabled() else 1)"; then
149
+ # pytest --parallel-threads=10 --iterations=10 {project}/tests
150
+ # else
151
+ # pytest -s {project}/tests
152
+ # fi
153
+ # CIBW_TEST_EXTRAS: "test"
154
+ # run: |
155
+ # python -m cibuildwheel --output-dir wheelhouse
156
+ # working-directory: ./quaddtype
157
+
158
+ # - uses: actions/upload-artifact@v4
159
+ # with:
160
+ # path: ./quaddtype/wheelhouse/*.whl
161
+ # name: wheels-${{ matrix.os }}
157
162
158
163
# disabling QBLAS optimization for windows due to incompatibility with MSVC
159
164
# build_wheels_windows:
0 commit comments