Skip to content

Automated submodule update: vrs #611

Automated submodule update: vrs

Automated submodule update: vrs #611

name: Build and Test
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
build:
name: Build pyvrs on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, macOS-latest]
fail-fast: false
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.9"
- name: Install dependencies
run: |
if [ "$RUNNER_OS" == "Linux" ]; then
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install -o Acquire::Retries=5 \
cmake git ninja-build libgtest-dev libfmt-dev \
libturbojpeg-dev libpng-dev \
liblz4-dev libzstd-dev libxxhash-dev \
libboost-system-dev libboost-filesystem-dev libboost-thread-dev libboost-chrono-dev libboost-date-time-dev \
portaudio19-dev
python -m pip install -U pip
python -m pip install pybind11[global]
elif [ "$RUNNER_OS" == "macOS" ]; then
brew install cmake git ninja googletest glog fmt \
jpeg-turbo libpng \
lz4 zstd xxhash \
boost \
portaudio pybind11
else
echo "$RUNNER_OS not supported"
exit 1
fi
python -m pip install -U pip
python -m pip install numpy typing dataclasses pytest parameterized Pillow
python -m pip install cibuildwheel==2.17.0
- name: Build wheels for CPython
run: |
python -m cibuildwheel --output-dir dist
env:
CIBW_ARCHS_LINUX: x86_64
CIBW_ARCHS_MACOS: "x86_64 arm64"
CIBW_BUILD: "cp39-*64 cp310-*64 cp311-*64 cp312-*64"
CIBW_BEFORE_BUILD_LINUX: bash scripts/install-manylinux-deps.sh
CIBW_BEFORE_BUILD_MACOS: bash scripts/install-macos-deps.sh
CIBW_SKIP: "*-manylinux_i686 *musllinux*"
- name: Build and Test Python
shell: bash
run: |
pip install -e .
python -m pytest test