diff --git a/.github/workflows/github-actions.yml b/.github/workflows/github-actions.yml index 13d4f909..f31693de 100644 --- a/.github/workflows/github-actions.yml +++ b/.github/workflows/github-actions.yml @@ -24,21 +24,18 @@ jobs: generate-python-binary-packages: runs-on: ubuntu-latest - strategy: - matrix: - python-version: ["3.9", "3.10", "3.11"] steps: - uses: actions/checkout@v4 - run: sudo apt install -y libbluetooth-dev - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 - with: - python-version: ${{ matrix.python-version }} - run: ./ci/generate-python-package.sh + env: + CIBW_BEFORE_BUILD_LINUX: "sh ci/install-bluez.sh" - name: Archive Python packages uses: actions/upload-artifact@v4 with: - name: python-${{ matrix.python-version }}-binary-package + name: python-binary-packages path: dist/* # publish-python-packages: diff --git a/ci/generate-python-package.sh b/ci/generate-python-package.sh index 8cbac500..77f66fa3 100755 --- a/ci/generate-python-package.sh +++ b/ci/generate-python-package.sh @@ -23,6 +23,9 @@ cp -r ${ROOT_PATH}/include ${gattlib_py_package_dir}/ cp -r ${ROOT_PATH}/CMakeLists.txt ${gattlib_py_package_dir}/ cp -r ${ROOT_PATH}/CrossCompilation.cmake ${gattlib_py_package_dir}/ +# Build script +cp -r ${ROOT_PATH}/ci/install-bluez.sh ${gattlib_py_package_dir}/ + # Create MANIFEST.in cat <> MANIFEST.in graft common @@ -34,13 +37,13 @@ include CrossCompilation.cmake EOT # Install requirements -python3 -m pip install wheel +python3 -m pip --disable-pip-version-check install cibuildwheel==2.16.5 # Generate packages pushd ${gattlib_py_package_dir} # Binary package -python3 setup.py bdist_wheel +python3 -m cibuildwheel --output-dir dist # Source package python setup.py sdist diff --git a/ci/install-bluez.sh b/ci/install-bluez.sh new file mode 100755 index 00000000..97d2380e --- /dev/null +++ b/ci/install-bluez.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# Exit immediately if a command exits with a non-zero status. +set -e + +# Install dependencies +yum -y install wget dbus-devel + +# +# +# +wget http://www.kernel.org/pub/linux/bluetooth/bluez-5.66.tar.xz +tar -xf bluez-5.66.tar.xz +pushd bluez-5.66 +./configure --prefix=/usr --disable-obex --disable-udev --disable-cups --disable-client --disable-manpages --disable-tools --disable-obex --disable-monitor --disable-hog --disable-hid --disable-network --disable-a2dp --disable-avrcp --disable-bap --disable-mcp --disable-vcp --enable-library +make +make install +popd +rm -Rf bluez-5.66