Skip to content

Commit 44ae31a

Browse files
Remove cibuildwheel usage from linux build (#333)
* removed cibuildwheel usage * bump version
1 parent f017379 commit 44ae31a

File tree

2 files changed

+30
-55
lines changed

2 files changed

+30
-55
lines changed

.github/workflows/binding.yml

Lines changed: 28 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -234,78 +234,53 @@ jobs:
234234
"
235235
236236
build-wheels-linux:
237-
name: Build wheels on Linux
237+
name: Build wheels on Linux (Python ${{ matrix.python-version }})
238238
needs: [test-binding-installation, test-binding-development]
239239
runs-on: ubuntu-latest
240240
if: github.event_name == 'pull_request' || (github.event_name == 'push' && (github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v')))
241-
241+
strategy:
242+
matrix:
243+
python-version: ['3.10', '3.12']
244+
242245
steps:
243246
- name: Checkout repository
244247
uses: actions/checkout@v4
245248

246-
- name: Set up Python
249+
- name: Set up Python ${{ matrix.python-version }}
247250
uses: actions/setup-python@v4
248251
with:
249-
python-version: "3.12"
252+
python-version: ${{ matrix.python-version }}
250253

251254
- name: Install system dependencies
252255
run: |
253256
sudo apt update
254-
sudo apt install -y cmake build-essential libtbb-dev libspdlog-dev libsimdjson-dev doxygen
257+
sudo apt install -y cmake build-essential doxygen libtbb-dev libfmt-dev libspdlog-dev libsimdjson-dev
258+
259+
- name: Install build dependencies
260+
run: |
261+
python -m pip install --upgrade pip
262+
python -m pip install build wheel setuptools pybind11-stubgen auditwheel
255263
256-
- name: Install cibuildwheel
257-
run: python -m pip install cibuildwheel==2.16.2
264+
- name: Build wheel
265+
run: |
266+
rm -rf dist wheelhouse
267+
python -m build --wheel
258268
259-
- name: Build wheels
260-
env:
261-
CIBW_BUILD: "cp310-* cp311-* cp312-*"
262-
CIBW_SKIP: "*-musllinux_*"
263-
CIBW_ARCHS_LINUX: "x86_64"
264-
CIBW_MANYLINUX_X86_64_IMAGE: "manylinux_2_28"
265-
CIBW_BEFORE_ALL_LINUX: >
266-
dnf install -y --nogpgcheck epel-release &&
267-
dnf config-manager --set-enabled powertools &&
268-
dnf install -y --nogpgcheck cmake make doxygen git wget unzip &&
269-
dnf install -y --nogpgcheck gcc-toolset-13 gcc-toolset-13-gcc-c++ &&
270-
source /opt/rh/gcc-toolset-13/enable &&
271-
export CC=/opt/rh/gcc-toolset-13/root/usr/bin/gcc &&
272-
export CXX=/opt/rh/gcc-toolset-13/root/usr/bin/g++ &&
273-
wget https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.11.0.tar.gz &&
274-
tar -xzf v2021.11.0.tar.gz && cd oneTBB-2021.11.0 &&
275-
mkdir build && cd build &&
276-
cmake .. -DCMAKE_BUILD_TYPE=Release -DTBB_TEST=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON &&
277-
make -j2 && make install && cd ../.. &&
278-
wget https://github.com/fmtlib/fmt/releases/download/10.1.1/fmt-10.1.1.zip &&
279-
unzip fmt-10.1.1.zip && cd fmt-10.1.1 &&
280-
mkdir build && cd build &&
281-
cmake .. -DCMAKE_BUILD_TYPE=Release -DFMT_TEST=OFF -DFMT_DOC=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON &&
282-
make -j2 && make install && cd ../.. &&
283-
wget https://github.com/gabime/spdlog/archive/refs/tags/v1.12.0.tar.gz &&
284-
tar -xzf v1.12.0.tar.gz && cd spdlog-1.12.0 &&
285-
mkdir build && cd build &&
286-
cmake .. -DCMAKE_BUILD_TYPE=Release -DSPDLOG_BUILD_SHARED=ON -DCMAKE_POSITION_INDEPENDENT_CODE=ON &&
287-
make -j2 && make install && cd ../.. &&
288-
wget https://github.com/simdjson/simdjson/archive/refs/tags/v3.6.0.tar.gz &&
289-
tar -xzf v3.6.0.tar.gz && cd simdjson-3.6.0 &&
290-
mkdir build && cd build &&
291-
cmake .. -DCMAKE_BUILD_TYPE=Release -DSIMDJSON_BUILD_STATIC=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON &&
292-
make -j2 && make install && cd ../.. &&
293-
ldconfig
294-
CIBW_ENVIRONMENT_LINUX: >
295-
CMAKE_BUILD_PARALLEL_LEVEL=2
296-
CMAKE_PREFIX_PATH=/usr/local
297-
PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/lib64/pkgconfig
298-
LD_LIBRARY_PATH=/usr/local/lib64:/usr/local/lib
299-
CC=/opt/rh/gcc-toolset-13/root/usr/bin/gcc
300-
CXX=/opt/rh/gcc-toolset-13/root/usr/bin/g++
301-
PATH=/opt/rh/gcc-toolset-13/root/usr/bin:$PATH
302-
run: python -m cibuildwheel --output-dir wheelhouse
269+
- name: Repair wheel (auditwheel)
270+
run: |
271+
mkdir -p wheelhouse
272+
auditwheel repair dist/*.whl -w wheelhouse
273+
274+
- name: Test wheel installation
275+
run: |
276+
python -m pip install wheelhouse/*.whl
277+
python -c "import dsf; print('DSF wheel installation successful')"
303278
304279
- name: Upload wheels as artifacts
305280
uses: actions/upload-artifact@v4
306281
with:
307-
name: wheels-linux
308-
path: ./wheelhouse/*.whl
282+
name: wheel-linux-${{ matrix.python-version }}
283+
path: wheelhouse/*.whl
309284

310285
build-wheels-macos:
311286
name: Build wheels on macOS (Python ${{ matrix.python-version }})

src/dsf/dsf.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
#include <format>
66

77
static constexpr uint8_t DSF_VERSION_MAJOR = 3;
8-
static constexpr uint8_t DSF_VERSION_MINOR = 9;
9-
static constexpr uint8_t DSF_VERSION_PATCH = 4;
8+
static constexpr uint8_t DSF_VERSION_MINOR = 10;
9+
static constexpr uint8_t DSF_VERSION_PATCH = 0;
1010

1111
static auto const DSF_VERSION =
1212
std::format("{}.{}.{}", DSF_VERSION_MAJOR, DSF_VERSION_MINOR, DSF_VERSION_PATCH);

0 commit comments

Comments
 (0)