Skip to content

👽 Build uv-ffi Wheels (Ultra-Exotic & Source) #34

👽 Build uv-ffi Wheels (Ultra-Exotic & Source)

👽 Build uv-ffi Wheels (Ultra-Exotic & Source) #34

name: "👽 Build uv-ffi Wheels (Ultra-Exotic & Source)"
on:
# NO release trigger — publish.yml dispatches this
workflow_dispatch:
inputs:
tag:
description: 'Tag to build (e.g. v0.10.7)'
required: false
default: ''
jobs:
build-pypy:
name: "PyPy ${{ matrix.pypy }} • ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
continue-on-error: true
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
pypy: ["pypy3.9", "pypy3.10"]
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.tag || github.ref }}
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.pypy }}
- name: Build PyPy Wheel
uses: PyO3/maturin-action@v1
with:
working-directory: crates/uv-ffi
args: --release --out ${{ github.workspace }}/wheels/ -i python
- name: Upload Wheels
uses: actions/upload-artifact@v4
with:
name: "exotic-wheels-pypy-${{ matrix.os }}-${{ matrix.pypy }}"
path: wheels/
build-graalpy:
name: "GraalPy • ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
continue-on-error: true
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest]
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.tag || github.ref }}
- uses: actions/setup-python@v5
with:
python-version: "graalpy24.0"
- name: Build GraalPy Wheel
uses: PyO3/maturin-action@v1
with:
working-directory: crates/uv-ffi
args: --release --out ${{ github.workspace }}/wheels/ --interpreter python
- name: Upload Wheels
uses: actions/upload-artifact@v4
with:
name: "exotic-wheels-graalpy-${{ matrix.os }}"
path: wheels/
build-freethreaded:
name: "Free-Threaded 3.13t • ${{ matrix.os }}"
runs-on: ${{ matrix.os }}
continue-on-error: true
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
steps:
- uses: actions/checkout@v4
with:
ref: ${{ github.event.inputs.tag || github.ref }}
- uses: actions/setup-python@v5
with:
python-version: "3.13t"
- name: Build Free-Threaded Wheel
uses: PyO3/maturin-action@v1
with:
working-directory: crates/uv-ffi
args: --release --out ${{ github.workspace }}/wheels/ --interpreter python
- name: Upload Wheels
uses: actions/upload-artifact@v4
with:
name: "exotic-wheels-freethreaded-${{ matrix.os }}"
path: wheels/