name: Build on: [push, pull_request] jobs: wheels: strategy: fail-fast: false matrix: include: - os: ubuntu-latest arch: x86_64 - os: ubuntu-24.04-arm arch: aarch64 - os: macos-15 arch: arm64 runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v5 - uses: pypa/cibuildwheel@v3.4.1 env: CIBW_BUILD: cp312-* CIBW_ARCHS: ${{ matrix.arch }} CIBW_TEST_REQUIRES: pytest CIBW_TEST_COMMAND: python -m pytest {project}/test CIBW_CONFIG_SETTINGS: force-bundled-libcapnp=true CMAKE_OSX_ARCHITECTURES: "${{ runner.os == 'macOS' && matrix.arch || '' }}" - uses: actions/upload-artifact@v6 with: name: wheels-${{ matrix.arch }}-${{ matrix.os }} path: wheelhouse/*.whl source: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: astral-sh/setup-uv@v3 - run: uv build --sdist - uses: actions/upload-artifact@v6 with: name: sdist path: dist/*.tar.gz lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v5 - uses: astral-sh/setup-uv@v3 - run: uvx ruff@0.16.8 check . - run: uvx ruff@0.16.8 format --check .