Skip to content

Build Wheels (Linux) #58

Build Wheels (Linux)

Build Wheels (Linux) #58

name: Build Wheels (Linux)
on:
workflow_dispatch:
inputs:
os:
description: OS
required: true
default: ubuntu-22.04
python:
description: Python
required: true
default: "3.11"
manylinux:
description: Manylinux
required: true
default: manylinux_2_28_x86_64
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@v4
with:
submodules: true
- name: Cache pip
uses: actions/cache@v4
with:
key: cache--${{ github.event.inputs.os }}--${{ github.event.inputs.python }}--${{ hashFiles('./requirements-dev.txt') }}
path: ~/.cache/pip
- name: Setup python
uses: actions/setup-python@v5
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-dev.txt
- name: Install cibuildwheel
run: python -m pip install -U 'cibuildwheel==2.*'
- 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 }}
CIBW_PRERELEASE_PYTHONS: True
- name: Store artifacts
uses: actions/upload-artifact@v4
with:
name: Wheelhouse
path: ./wheelhouse/*.whl