@@ -16,149 +16,149 @@ on:
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
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
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]
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]
8989
90- # steps:
91- # - uses: actions/checkout@v3
92- # with:
93- # submodules: recursive
90+ steps :
91+ - uses : actions/checkout@v3
92+ with :
93+ submodules : recursive
9494
95- # - name: Set up Python
96- # uses: actions/setup-python@v4
97- # with:
98- # python-version: ">=3.11.0"
95+ - name : Set up Python
96+ uses : actions/setup-python@v4
97+ with :
98+ python-version : " >=3.11.0"
9999
100- # - name: Install dependencies
101- # run: |
102- # brew install cmake libomp git
100+ - name : Install dependencies
101+ run : |
102+ brew install cmake libomp git
103103
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
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
119119
120- # - name: Verify QuadBLAS submodule
121- # run: |
122- # ls -la quaddtype/numpy_quaddtype/QBLAS/
123- # ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
120+ - name : Verify QuadBLAS submodule
121+ run : |
122+ ls -la quaddtype/numpy_quaddtype/QBLAS/
123+ ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
124124
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
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
130130
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
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
157157
158- # - uses: actions/upload-artifact@v4
159- # with:
160- # path: ./quaddtype/wheelhouse/*.whl
161- # name: wheels-${{ matrix.os }}
158+ - uses : actions/upload-artifact@v4
159+ with :
160+ path : ./quaddtype/wheelhouse/*.whl
161+ name : wheels-${{ matrix.os }}
162162
163163 # disabling QBLAS optimization for windows due to incompatibility with MSVC
164164 build_wheels_windows :
@@ -247,26 +247,26 @@ jobs:
247247 path : ./quaddtype/wheelhouse/*.whl
248248 name : wheels-windows-${{ matrix.architecture }}
249249
250- # publish_to_pypi:
251- # name: Publish to PyPI
252- # needs: [build_wheels_linux, build_wheels_macos, build_wheels_windows]
253- # runs-on: ubuntu-latest
254- # if: startsWith(github.ref, 'refs/tags/quaddtype-v')
250+ publish_to_pypi :
251+ name : Publish to PyPI
252+ needs : [build_wheels_linux, build_wheels_macos, build_wheels_windows]
253+ runs-on : ubuntu-latest
254+ if : startsWith(github.ref, 'refs/tags/quaddtype-v')
255255
256- # environment:
257- # name: quadtype_release
258- # url: https://pypi.org/p/numpy-quaddtype
256+ environment :
257+ name : quadtype_release
258+ url : https://pypi.org/p/numpy-quaddtype
259259
260- # permissions:
261- # id-token: write # IMPORTANT: mandatory for trusted publishing
260+ permissions :
261+ id-token : write # IMPORTANT: mandatory for trusted publishing
262262
263- # steps:
264- # - name: Download all workflow run artifacts
265- # uses: actions/download-artifact@v4
266- # with:
267- # path: dist
263+ steps :
264+ - name : Download all workflow run artifacts
265+ uses : actions/download-artifact@v4
266+ with :
267+ path : dist
268268
269- # - name: Publish to PyPI
270- # uses: pypa/gh-action-pypi-publish@release/v1
271- # with:
272- # packages-dir: dist/*
269+ - name : Publish to PyPI
270+ uses : pypa/gh-action-pypi-publish@release/v1
271+ with :
272+ packages-dir : dist/*
0 commit comments