blob: 5a2d21ca77dcbe5098478a3ef45bfec3f328f28c [file] [log] [blame]
name: Build Wheels
on:
workflow_dispatch:
inputs:
os:
description: OS
required: true
default: ubuntu-20.04
python:
description: Python
required: true
default: "3.9"
manylinux:
description: Manylinux
required: true
default: manylinux2014
archs:
description: CIBW_ARCHS
required: true
default: auto
skip:
description: CIBW_SKIP
required: true
default: "cp27-* pp27-*"
jobs:
build_wheels:
name: Build compat:${{ github.event.inputs.manylinux }}, python:${{ github.event.inputs.python }}, os:${{ github.event.inputs.os }}
runs-on: ${{ github.event.inputs.os }}
steps:
- uses: actions/checkout@v3
with:
submodules: true
- name: Cache pip
uses: actions/cache@v3
with:
key: cache--${{ github.event.inputs.os }}--${{ github.event.inputs.python }}--${{ hashFiles('./requirements.txt') }}
path: ~/.cache/pip
- name: Setup python
uses: actions/setup-python@v3
with:
python-version: ${{ github.event.inputs.python }}
- name: Update pip
run: python -m pip install -U pip wheel setuptools
- name: Install requirements
run: python -m pip install -Ur requirements.txt
- name: Prepare for compilation
run: make prepare
- name: Build wheels
run: python -m cibuildwheel --output-dir wheelhouse
env:
CIBW_BUILD_FRONTEND: build
CIBW_SKIP: "${{ github.event.inputs.skip }}"
CIBW_MANYLINUX_X86_64_IMAGE: ${{ github.event.inputs.manylinux }}
CIBW_MANYLINUX_I686_IMAGE: ${{ github.event.inputs.manylinux }}
CIBW_ARCHS: ${{ github.event.inputs.archs }}
- name: Store artifacts
uses: actions/upload-artifact@v3
with:
name: Wheelhouse
path: ./wheelhouse/*.whl