WIP PR for getting CI working as desired #4
Workflow file for this run
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: Test wheels | |
on: [push, pull_request] | |
jobs: | |
build: | |
# this job should be nearly identical to the 'build' job in wheel.yml | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-22.04, windows-2019] | |
architecture: ['x64'] | |
linux_archs: ["native"] | |
include: | |
# https://cibuildwheel.readthedocs.io/en/stable/options/#build-skip | |
- os: windows-2019 | |
skip: "*2*win* *win32 pp*" | |
- os: ubuntu-22.04 | |
linux_archs: native | |
skip: "pp* *musl*" | |
name: Test wheel (${{ matrix.os }}) | |
env: | |
CIBW_REPAIR_WHEEL_COMMAND_WINDOWS: "delvewheel repair -w {dest_dir} {wheel}" | |
CIBW_BEFORE_ALL: "pip install numpy cython" | |
CIBW_SKIP: ${{ matrix.skip }} | |
CIBW_ARCHS_LINUX: ${{ matrix.linux_archs }} | |
CIBW_ARCHS_MACOS: x86_64 universal2 | |
CIBW_TEST_SKIP: "*" | |
CIBW_BUILD: "cp311-*" | |
CIBW_MANYLINUX_X86_64_IMAGE: "manylinux2014" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- name: Set up QEMU | |
if: runner.os == 'Linux' | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: all | |
- name: Add msbuild to PATH | |
if: runner.os == 'Windows' | |
uses: microsoft/setup-msbuild@v1.3 | |
- name: delvewheel install | |
if: runner.os == 'Windows' | |
run: | | |
python -m pip install delvewheel cython | |
- name: Build wheels | |
uses: joerick/cibuildwheel@v2.16.2 | |
- name: Install wheels | |
shell: bash -l {0} | |
run: | | |
pip install ./wheelhouse/*.whl | |
- name: Run Tests after installing | |
shell: bash -l {0} | |
run: | | |
pip install pytest pytest-cov | |
mv ./uavro ./uavro-src #in order to avoid conflicts between the uavro directory and the uavro installed module | |
pytest --verbose --cov=uavro-src #verifying that uavro still works | |