Skip to content

Merge fix-arm-manylinux: explicit container for ARM manylinux builds #29

Merge fix-arm-manylinux: explicit container for ARM manylinux builds

Merge fix-arm-manylinux: explicit container for ARM manylinux builds #29

Workflow file for this run

name: CI
on: [push, pull_request]
jobs:
codestyle-check:
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@v6
- name: Check format
run: |
cargo fmt -- --check
- name: Clippy
run: |
cargo clippy --all-targets -- -D warnings
build:
needs: ['codestyle-check']
runs-on: ${{ matrix.runner }}
strategy:
fail-fast: false
matrix:
include:
- runner: ubuntu-latest
target: x64
manylinux: "2014"
args: -m packages/pyo3/Cargo.toml --release --sdist
artifact_name: dist-linux-x64
- runner: ubuntu-24.04-arm
target: aarch64
manylinux: "2014"
container: "2014"
args: -m packages/pyo3/Cargo.toml --release
artifact_name: dist-linux-aarch64
- runner: ubuntu-latest
target: x64
manylinux: musllinux_1_2
args: -m packages/pyo3/Cargo.toml --release
artifact_name: dist-musllinux-x64
- runner: ubuntu-24.04-arm
target: aarch64
manylinux: musllinux_1_2
container: musllinux_1_2
args: -m packages/pyo3/Cargo.toml --release
artifact_name: dist-musllinux-aarch64
- runner: windows-latest
target: x64
args: -m packages/pyo3/Cargo.toml --release
artifact_name: dist-windows-x64
- runner: windows-11-arm
target: aarch64-pc-windows-msvc
args: -m packages/pyo3/Cargo.toml --release
artifact_name: dist-windows-aarch64
- runner: macos-latest
target: universal2-apple-darwin
args: -m packages/pyo3/Cargo.toml --release
artifact_name: dist-macos-universal2
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v6
- name: Rust Unittests
run: |
cargo test --manifest-path packages/network_partitions/Cargo.toml
- uses: PyO3/maturin-action@v1
if: ${{ !startsWith(matrix.runner, 'windows') }}
name: Maturin Build
with:
command: build
target: ${{ matrix.target }}
args: ${{ matrix.args }}
manylinux: ${{ matrix.manylinux || 'auto' }}
container: ${{ matrix.container || 'auto' }}
- uses: PyO3/maturin-action@v1
if: ${{ startsWith(matrix.runner, 'windows') }}
name: Maturin Build (Windows)
with:
command: build
target: ${{ matrix.target }}
args: ${{ matrix.args }}
- name: Python Unittests
if: ${{ !matrix.manylinux || matrix.manylinux != 'musllinux_1_2' }}
run: |
cd packages/pyo3
uv venv
uv pip install ../../target/wheels/*.whl
uv run python -m unittest
shell: bash
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.artifact_name }}
path: |
target/wheels/*.whl
target/wheels/*.tar.gz