1616 workflow_dispatch :
1717
1818jobs :
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
8522 steps :
8623 - uses : actions/checkout@v3
8724 with :
@@ -92,52 +29,40 @@ jobs:
9229 with :
9330 python-version : " >=3.11.0"
9431
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-
11532 - name : Verify QuadBLAS submodule
11633 run : |
11734 ls -la quaddtype/numpy_quaddtype/QBLAS/
11835 ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
11936
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
12539
12640 - name : Build wheels
12741 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 "
12943 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
13145 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
13258 CIBW_ENVIRONMENT : >
133- MACOSX_DEPLOYMENT_TARGET="${{ matrix.os == 'macos-13' && '13.0' || '14.0' }}"
134- DYLD_LIBRARY_PATH="/usr/local/lib:$DYLD_LIBRARY_PATH"
13559 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}
14166 CIBW_TEST_COMMAND : |
14267 pip install {package}[test]
14368 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:
15378 - uses : actions/upload-artifact@v4
15479 with :
15580 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 }}
157162
158163 # disabling QBLAS optimization for windows due to incompatibility with MSVC
159164 # build_wheels_windows:
0 commit comments