Automated submodule update: vrs #611
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |