Skip to content

Build manylinux binary wheels #30

Build manylinux binary wheels

Build manylinux binary wheels #30

name: Build manylinux binary wheels
on: workflow_dispatch
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Download libgphoto2
run: wget -nv
https://github.com/gphoto/libgphoto2/releases/download/v2.5.30/libgphoto2-2.5.30.tar.xz
-O libgphoto2.tar.xz
- name: Extract libgphoto2
run: |
mkdir $PWD/libgphoto2
tar xf libgphoto2.tar.xz \
--directory $PWD/libgphoto2 --strip-components=1
- name: Build wheels
uses: pypa/cibuildwheel@v2.14.1
env:
CIBW_ARCHS: auto64
CIBW_BUILD: cp*-manylinux_x86_64
CIBW_ENVIRONMENT: GPHOTO2_ROOT=$PWD/libgphoto2/local_install
CIBW_BEFORE_ALL: >
yum install -y libusbx-devel libexif-devel libjpeg-turbo-devel \
gd-devel libcurl-devel libxml2-devel libtool-ltdl-devel &&
pushd $PWD/libgphoto2 &&
./configure --prefix=$PWD/local_install --disable-internal-docs \
--enable-vusb CFLAGS="-std=gnu99 -g -O2" &&
make &&
make install &&
popd
- name: Store results
uses: actions/upload-artifact@v3
with:
name: manylinux-wheels
path: wheelhouse/*.whl
test:
needs: build
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10', '3.11']
os: [ubuntu-latest]
include:
- python-version: '3.6'
os: ubuntu-20.04
runs-on: ${{ matrix.os }}
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Fetch wheel files
uses: actions/download-artifact@v3
with:
name: manylinux-wheels
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
architecture: 'x64'
- name: Install locales
run: |
sudo apt-get install locales
sudo locale-gen de
- name: Install wheel
run: pip3 install --disable-pip-version-check --no-index
--find-links=. gphoto2
- name: Test installation
run: python3 -m unittest discover tests -v