Test wheels #550
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"] | |
numpy_version: ["numpy~=1.23", "numpy~=1.24", "numpy~=1.25", "numpy#latest"] | |
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.numpy_version }} + ${{ 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@v5 | |
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@v2 | |
- name: delvewheel install | |
if: runner.os == 'Windows' | |
run: | | |
python -m pip install delvewheel cython | |
- name: Build wheels | |
uses: joerick/[email protected] | |
- name: Install wheels | |
shell: bash -l {0} | |
run: | | |
pip install ./wheelhouse/*.whl | |
- name: Run Tests after installing numpy (${{matrix.numpy_version}}) | |
shell: bash -l {0} | |
run: | | |
pip install pytest pytest-cov | |
mv ./fastparquet ./fastparquet-src #in order to avoid conflicts between the fastparquet directory and the fastparquet installed module | |
pip install ${{matrix.numpy_version}} #installing a different numpy version than the one fastparquet wheel was compiled with | |
pytest --verbose --cov=fastparquet-src #verifying that Fastparquet still works | |