Skip to content

Commit 86992bf

Browse files
authored
Merge pull request #135 from SwayamInSync/main
Building and uploading sdist along with prebuilt wheels
2 parents 1d48f34 + 622087d commit 86992bf

File tree

1 file changed

+65
-3
lines changed

1 file changed

+65
-3
lines changed

.github/workflows/build_wheels.yml

Lines changed: 65 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -247,9 +247,71 @@ jobs:
247247
path: ./quaddtype/wheelhouse/*.whl
248248
name: wheels-windows-${{ matrix.architecture }}
249249

250+
build_sdist:
251+
name: Build SDist
252+
runs-on: ubuntu-latest
253+
steps:
254+
- uses: actions/checkout@v3
255+
with:
256+
submodules: recursive
257+
258+
- name: Set up Python
259+
uses: actions/setup-python@v4
260+
with:
261+
python-version: ">=3.11.0"
262+
263+
- name: Verify QuadBLAS submodule
264+
run: |
265+
ls -la quaddtype/numpy_quaddtype/QBLAS/
266+
ls -la quaddtype/numpy_quaddtype/QBLAS/include/quadblas/
267+
268+
- name: Install system dependencies
269+
run: |
270+
sudo apt-get update -y
271+
sudo apt-get install -y cmake gcc g++ make git pkg-config
272+
273+
- name: Install SLEEF
274+
run: |
275+
git clone --branch 3.8 https://github.com/shibatch/sleef.git
276+
cd sleef
277+
cmake -S . -B build \
278+
-DSLEEF_BUILD_QUAD:BOOL=ON \
279+
-DSLEEF_BUILD_SHARED_LIBS:BOOL=ON \
280+
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
281+
cmake --build build/ --clean-first -j
282+
sudo cmake --install build --prefix /usr/local
283+
284+
- name: Install build dependencies
285+
run: |
286+
python -m pip install --upgrade pip
287+
python -m pip install build
288+
289+
- name: Build SDist
290+
env:
291+
CFLAGS: "-I/usr/local/include -I$(pwd)/numpy_quaddtype/QBLAS/include"
292+
CXXFLAGS: "-I/usr/local/include -I$(pwd)/numpy_quaddtype/QBLAS/include -fext-numeric-literals"
293+
LDFLAGS: "-L/usr/local/lib64 -L/usr/local/lib -Wl,-rpath,/usr/local/lib64 -Wl,-rpath,/usr/local/lib -fopenmp"
294+
LD_LIBRARY_PATH: "/usr/local/lib64:/usr/local/lib:$LD_LIBRARY_PATH"
295+
PKG_CONFIG_PATH: "/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
296+
run: |
297+
python -m build --sdist --outdir dist/
298+
working-directory: ./quaddtype
299+
300+
- name: Upload SDist artifact
301+
uses: actions/upload-artifact@v4
302+
with:
303+
name: sdist
304+
path: ./quaddtype/dist/*.tar.gz
305+
250306
publish_to_pypi:
251307
name: Publish to PyPI
252-
needs: [build_wheels_linux, build_wheels_macos, build_wheels_windows]
308+
needs:
309+
[
310+
build_wheels_linux,
311+
build_wheels_macos,
312+
build_wheels_windows,
313+
build_sdist,
314+
]
253315
runs-on: ubuntu-latest
254316
if: startsWith(github.ref, 'refs/tags/quaddtype-v')
255317

@@ -264,9 +326,9 @@ jobs:
264326
- name: Download all workflow run artifacts
265327
uses: actions/download-artifact@v4
266328
with:
329+
pattern: "*"
267330
path: dist
331+
merge-multiple: true
268332

269333
- name: Publish to PyPI
270334
uses: pypa/gh-action-pypi-publish@release/v1
271-
with:
272-
packages-dir: dist/*

0 commit comments

Comments
 (0)