chore(action): update cibw arguments passing Only pass arguments that were set to cibuildwheel.
63 lines
2.2 KiB
YAML
63 lines
2.2 KiB
YAML
name: cibuildwheel
|
|
description: 'Installs and runs cibuildwheel on the current runner'
|
|
inputs:
|
|
package-dir:
|
|
description: 'Input directory, defaults to "."'
|
|
required: false
|
|
default: .
|
|
output-dir:
|
|
description: 'Folder to place the outputs in, defaults to "wheelhouse"'
|
|
required: false
|
|
default: wheelhouse
|
|
config-file:
|
|
description: 'File containing the config, defaults to {package}/pyproject.toml'
|
|
required: false
|
|
default: ''
|
|
only:
|
|
description: 'Build a specific wheel only. No need for arch/platform if this is set'
|
|
required: false
|
|
default: ''
|
|
branding:
|
|
icon: package
|
|
color: yellow
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
# Set up a non-EOL, cibuildwheel & pipx supported Python version
|
|
- uses: actions/setup-python@v5
|
|
id: python
|
|
with:
|
|
python-version: "3.8 - 3.12"
|
|
update-environment: false
|
|
|
|
# macos-14 (M1) may be missing pipx (due to it not having CPython)
|
|
- run: |
|
|
"${{ steps.python.outputs.python-path }}" -m pip install pipx
|
|
shell: bash
|
|
|
|
# Redirecting stderr to stdout to fix interleaving issue in Actions.
|
|
- run: >
|
|
"${{ steps.python.outputs.python-path }}" -m pipx run
|
|
--spec '${{ github.action_path }}'
|
|
cibuildwheel
|
|
"${{ inputs.package-dir }}"
|
|
${{ inputs.output-dir != '' && format('--output-dir "{0}"', inputs.output-dir) || ''}}
|
|
${{ inputs.config-file != '' && format('--config-file "{0}"', inputs.config-file) || ''}}
|
|
${{ inputs.only != '' && format('--only "{0}"', inputs.only) || ''}}
|
|
2>&1
|
|
shell: bash
|
|
if: runner.os != 'Windows'
|
|
|
|
# Windows needs powershell to interact nicely with Meson
|
|
- run: >
|
|
& "${{ steps.python.outputs.python-path }}" -m pipx run
|
|
--spec "${{ github.action_path }}"
|
|
cibuildwheel
|
|
"${{ inputs.package-dir }}"
|
|
${{ inputs.output-dir != '' && format('--output-dir "{0}"', inputs.output-dir) || ''}}
|
|
${{ inputs.config-file != '' && format('--config-file "{0}"', inputs.config-file) || ''}}
|
|
${{ inputs.only != '' && format('--only "{0}"', inputs.only) || ''}}
|
|
shell: pwsh
|
|
if: runner.os == 'Windows'
|