@@ -16,149 +16,149 @@ on:
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
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
26
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"
31
31
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/
36
36
37
- # - name: Install cibuildwheel
38
- # run: pip install cibuildwheel==3.1.4
37
+ - name : Install cibuildwheel
38
+ run : pip install cibuildwheel==3.1.4
39
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 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
77
77
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
82
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]
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
89
90
- # steps:
91
- # - uses: actions/checkout@v3
92
- # with:
93
- # submodules: recursive
90
+ steps :
91
+ - uses : actions/checkout@v3
92
+ with :
93
+ submodules : recursive
94
94
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"
99
99
100
- # - name: Install dependencies
101
- # run: |
102
- # brew install cmake libomp git
100
+ - name : Install dependencies
101
+ run : |
102
+ brew install cmake libomp git
103
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
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
119
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/
124
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
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
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
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
157
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 }}
162
162
163
163
# disabling QBLAS optimization for windows due to incompatibility with MSVC
164
164
build_wheels_windows :
@@ -247,26 +247,26 @@ jobs:
247
247
path : ./quaddtype/wheelhouse/*.whl
248
248
name : wheels-windows-${{ matrix.architecture }}
249
249
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')
255
255
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
259
259
260
- # permissions:
261
- # id-token: write # IMPORTANT: mandatory for trusted publishing
260
+ permissions :
261
+ id-token : write # IMPORTANT: mandatory for trusted publishing
262
262
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
268
268
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