Skip to content

Commit 15abf93

Browse files
committed
and they all worked
1 parent ccf066d commit 15abf93

File tree

1 file changed

+148
-148
lines changed

1 file changed

+148
-148
lines changed

.github/workflows/build_wheels.yml

Lines changed: 148 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -16,149 +16,149 @@ 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

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

Comments
 (0)