Skip to content

Fix build pipelines and update CHANGELOG.md #2

Fix build pipelines and update CHANGELOG.md

Fix build pipelines and update CHANGELOG.md #2

Workflow file for this run

name: build_wheels.yml
on:
pull_request:
branches:
- '**'
jobs:
build:
name: Build on ${{ matrix.platform || matrix.os }} (${{ matrix.target }} - ${{ matrix.manylinux || 'auto' }})
strategy:
fail-fast: false
matrix:
os: [ubuntu, macos, windows]
target: [x86_64, aarch64]
manylinux: [auto]
include:
- os: ubuntu
platform: linux
- os: windows
ls: dir
interpreter: 3.9 3.10 3.11 3.12 3.13 3.14 pypy3.11
- os: windows
ls: dir
target: aarch64
interpreter: 3.11 3.12 3.13 3.14 pypy3.11
- os: macos
target: aarch64
interpreter: 3.9 3.10 3.11 3.12 3.13 3.14 pypy3.11
- os: ubuntu
platform: linux
target: aarch64
# musllinux
- os: ubuntu
platform: linux
target: x86_64
manylinux: musllinux_1_1
- os: ubuntu
platform: linux
target: aarch64
manylinux: musllinux_1_1
- os: ubuntu
platform: linux
target: ppc64le
interpreter: 3.9 3.10 3.11 3.12 3.13 3.14
- os: ubuntu
platform: linux
target: s390x
interpreter: 3.9 3.10 3.11 3.12 3.13 3.14
runs-on: ${{ matrix.os }}-latest
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: set up python
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
with:
python-version: '3.11'
architecture: ${{ matrix.python-architecture || 'x64' }}
- name: build wheels
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
with:
target: ${{ matrix.target }}
manylinux: ${{ matrix.manylinux || 'auto' }}
container: ${{ matrix.container }}
args: --release --out dist --interpreter ${{ matrix.interpreter || '3.9 3.10 3.11 3.12 3.13 3.14 pypy3.11' }} ${{ matrix.extra-build-args }}
rust-toolchain: stable
docker-options: -e CI
- run: ${{ matrix.ls || 'ls -lh' }} dist/
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
name: dist-${{ matrix.os }}-${{ matrix.target }}-${{ matrix.manylinux }}
path: dist
build_sdist:
runs-on: ubuntu-latest
environment: release
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Build sdist
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
with:
command: sdist
args: --out dist
- name: Upload sdist
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
name: dist-sdist
path: dist
build_no_ext:
runs-on: ubuntu-latest
environment: release
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Install and configure Poetry
run: pipx install poetry
- name: Hotswap build backend for Poetry
# Maturin doesn't support building no-extension wheels, so we swap to Poetry for that
run: |
sed -i -e '/^\[build-system\]/,/^\[/{s/^requires = .*/requires = ["poetry-core>=2.0.0,<3.0.0"]/; s/^build-backend = .*/build-backend = "poetry.core.masonry.api"/}' pyproject.toml
- name: Install dependencies
run: poetry install --only main --only test --only typing --only build
- name: Run poetry build
run: poetry build -f wheel
- name: Upload no-ext wheel
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
with:
name: dist-any
path: dist