Skip to content

Build wheels

Build wheels #80

Workflow file for this run

name: Build wheels
on:
workflow_dispatch:
inputs:
flavours:
type: boolean
default: true
skeleton:
description: 'skeleton: if set, should be 1 or 2.'
type: string
sdist:
type: boolean
default: true
wheels:
type: boolean
default: true
wheels_linux_auto:
type: boolean
default: true
wheels_linux_aarch64:
type: boolean
default: true
wheels_windows_auto:
type: boolean
default: true
wheels_macos_auto:
type: boolean
default: true
wheels_macos_arm64:
type: boolean
default: true
wheels_cps:
description: 'wheels_cps: sets $CIBW_BUILD, E.g. "cp310* cp311*".'
type: string
# We can't currently have more than 10 inputs
#wheels_cp38:
# type: boolean
# default: true
#
#wheels_cp39:
# type: boolean
# default: true
#
#wheels_cp310:
# type: boolean
# default: true
#
#wheels_cp311:
# type: boolean
# default: true
jobs:
build_sdist:
if: ${{ inputs.sdist }}
name: Build sdist
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
#with:
# fetch-depth: 0 # Optional, use if you use setuptools_scm
# submodules: true # Optional, use if you have submodules
- name: Build sdist
run: pipx run build --sdist
- uses: actions/upload-artifact@v2
with:
path: dist/*.tar.gz
build_wheels:
if: ${{ inputs.wheels }}
name: Build wheels on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-2019, macos-latest]
#os: [ubuntu-latest]
#os: [windows-2019, macos-latest]
#os: [windows-2019]
# Avoid cancelling of all cibuildwheel runs after a single failure.
fail-fast: false
steps:
- uses: actions/checkout@v2
# Get Python for running cibuildwheel. This also ensures that 'python'
# works on MacOS, where it seems only 'python3' is available by default.
#
- uses: actions/setup-python@v2
# On Linux, get qemu so we can build for aarch64.
#
- name: Set up QEMU
if: runner.os == 'Linux'
uses: docker/setup-qemu-action@v1
with:
platforms: all
- name: gh_release
# Doesn't seem to be a way to passing inputs.* on command
# line, so we set environment instead. E.g. see:
# https://github.com/orgs/community/discussions/27088
#
env:
inputs_flavours: ${{inputs.flavours}}
inputs_skeleton: ${{inputs.skeleton}}
inputs_sdist: ${{inputs.sdist}}
inputs_wheels: ${{inputs.wheels}}
inputs_wheels_linux_aarch64: ${{inputs.wheels_linux_aarch64}}
inputs_wheels_macos_arm64: ${{inputs.wheels_macos_arm64}}
inputs_wheels_linux_auto: ${{inputs.wheels_linux_auto}}
inputs_wheels_windows_auto: ${{inputs.wheels_windows_auto}}
inputs_wheels_macos_auto: ${{inputs.wheels_macos_auto}}
inputs_wheels_cps: ${{inputs.wheels_cps}}
#inputs_wheels_cp38: ${{inputs.wheels_cp38}}
#inputs_wheels_cp39: ${{inputs.wheels_cp39}}
#inputs_wheels_cp310: ${{inputs.wheels_cp310}}
#inputs_wheels_cp311: ${{inputs.wheels_cp311}}
run:
python scripts/gh_release.py
# Upload generated wheels, to be accessible from github Actions page.
#
- uses: actions/upload-artifact@v2
with:
path: ./wheelhouse/*.whl