msgpack-python/.github/workflows/wheel.yml
2022-06-03 13:46:51 +09:00

57 lines
1.4 KiB
YAML

name: Build Wheels
on:
push:
branches: [main]
create:
jobs:
build_wheels:
strategy:
matrix:
os: [ubuntu-20.04, windows-2022, macos-10.15]
runs-on: ${{ matrix.os }}
name: Build wheels on ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up QEMU
if: runner.os == 'Linux'
uses: docker/setup-qemu-action@v1
with:
platforms: arm64
- name: Set up Python 3.9
uses: actions/setup-python@v3
with:
python-version: 3.9
cache: "pip"
- name: Prepare
shell: bash
run: |
pip install -r requirements.txt
make cython
- name: Build
uses: pypa/cibuildwheel@v2.6.0
env:
CIBW_TEST_REQUIRES: "pytest"
CIBW_TEST_COMMAND: "pytest {package}/test"
CIBW_ARCHS_LINUX: auto aarch64
CIBW_ARCHS_MACOS: x86_64 universal2 arm64
CIBW_SKIP: pp*
- name: Upload Wheels to artifact
uses: actions/upload-artifact@v1
with:
name: Wheels
path: wheelhouse
- name: Publish Wheels to TestPyPI
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@release/v1
with:
packages_dir: wheelhouse
password: ${{ secrets.PYPI_API_TOKEN }}