Skip to content

.github/workflows/wheel.yml #1600

.github/workflows/wheel.yml

.github/workflows/wheel.yml #1600

Workflow file for this run

on:
push:
pull_request:
schedule:
- cron: '30 13 * * *'
jobs:
linux:
strategy:
fail-fast: false
matrix:
image:
- 'manylinux2014_aarch64'
- 'musllinux_1_1_aarch64'
- 'manylinux2014_i686'
- 'manylinux2014_x86_64'
- 'musllinux_1_1_x86_64'
py:
- 'cp38-cp38'
- 'cp39-cp39'
- 'cp310-cp310'
- 'cp311-cp311'
- 'cp312-cp312'
- 'cp313-cp313'
runs-on: 'ubuntu-22.04'
steps:
- uses: actions/checkout@v4
- name: Set up QEMU
if: ${{ endsWith(matrix.image, 'aarch64') }}
uses: docker/setup-qemu-action@v3
- name: Build Wheel
run: |
docker run -e PYPATH=/opt/python/${{ matrix.py }} -e ZSTD_WARNINGS_AS_ERRORS=1 --rm -v `pwd`:/project quay.io/pypa/${{ matrix.image }} /project/ci/build-manylinux-wheel.sh
- name: Upload Wheel
uses: actions/upload-artifact@v4
with:
name: linux-${{ matrix.py }}-${{ matrix.image }}
path: dist
macos:
strategy:
fail-fast: false
matrix:
py:
- 'cp38'
- 'cp39'
- 'cp310'
- 'cp311'
- 'cp312'
- 'cp313'
arch:
- 'arm64'
- 'x86_64'
runs-on: 'macos-13'
env:
CIBW_ARCHS: ${{ matrix.arch }}
CIBW_BUILD: ${{ matrix.py }}-*
CIBW_BUILD_VERBOSITY: '1'
CIBW_PRERELEASE_PYTHONS: '1'
ZSTD_WARNINGS_AS_ERRORS: '1'
steps:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
- uses: actions/checkout@v4
- name: Install Dependencies
run: |
python -m pip install --require-hashes -r ci/requirements.macoswheels.txt
- name: Build Wheel
run: |
cibuildwheel --output-dir dist
- name: Upload Wheel
uses: actions/upload-artifact@v4
with:
name: macos-${{ matrix.py }}-${{ matrix.arch }}
path: dist
windows:
strategy:
fail-fast: false
matrix:
py:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
- '3.12'
- '3.13'
arch:
- 'x86'
- 'x64'
runs-on: 'windows-2022'
env:
ZSTD_WARNINGS_AS_ERRORS: '1'
steps:
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.py }}
architecture: ${{ matrix.arch }}
allow-prereleases: ${{ matrix.py == '3.13' && true || false }}
- uses: actions/checkout@v4
- name: Build Wheel
run: |
python -m pip wheel -w dist .
- name: Upload Wheel
uses: actions/upload-artifact@v4
with:
name: windows-${{ matrix.py }}-${{ matrix.arch }}
path: dist