Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 17 additions & 7 deletions .github/workflows/wheels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,20 @@ jobs:
name: wheels-${{ matrix.name }}
path: ./wheelhouse/*.whl

build_wheels_ppc:
name: Wheels for linux-ppc
build_wheels_emulated_linux:
name: Wheels for ${{ matrix.name }}
runs-on: ubuntu-24.04
needs: sdist
strategy:
fail-fast: true
matrix:
include:
- name: linux-ppc64le
qemu_platform: linux/ppc64le
cibw_arch: ppc64le
- name: linux-riscv64
qemu_platform: linux/riscv64
cibw_arch: riscv64

steps:
- uses: actions/setup-python@v6
Expand All @@ -109,7 +119,7 @@ jobs:

- uses: docker/setup-qemu-action@v4
with:
platforms: linux/ppc64le
platforms: ${{ matrix.qemu_platform }}

- name: Download sdist
uses: actions/download-artifact@v8
Expand All @@ -124,20 +134,20 @@ jobs:
shell: bash
run: python -m cibuildwheel dist/*.tar.gz --output-dir wheelhouse
env:
CIBW_ARCHS: ppc64le
CIBW_ARCHS: ${{ matrix.cibw_arch }}
CIBW_ENVIRONMENT: LIBSSH2_VERSION=1.11.1 LIBGIT2_VERSION=1.9.4 LIBGIT2=/project/ci

- uses: actions/upload-artifact@v7
with:
name: wheels-linux-ppc
name: wheels-${{ matrix.name }}
path: ./wheelhouse/*.whl

twine-check:
name: Twine check
# It is good to do this check on non-tagged commits.
# Note, pypa/gh-action-pypi-publish (see job below) does this automatically.
if: ${{ !startsWith(github.ref, 'refs/tags/v') }}
needs: [build_wheels, build_wheels_ppc, sdist]
needs: [build_wheels, build_wheels_emulated_linux, sdist]
runs-on: ubuntu-latest

steps:
Expand All @@ -151,7 +161,7 @@ jobs:

pypi:
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
needs: [build_wheels, build_wheels_ppc, sdist]
needs: [build_wheels, build_wheels_emulated_linux, sdist]
permissions:
contents: write # to create GitHub Release
runs-on: ubuntu-24.04
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ before-all = "sh build.sh"
test-command = "pytest"
test-sources = ["test", "pytest.ini"]
before-test = "pip install -r {package}/requirements-test.txt"
# Will avoid testing on emulated architectures (specifically ppc64le)
# Will avoid testing on emulated architectures (specifically ppc64le and riscv64)
# Also, skip testing pypy on macOS arm64 due issue with bootstrapping git config paths
# see https://github.com/libgit2/pygit2/issues/1442
test-skip = "*-*linux_ppc64le pp*-macosx_arm64"
test-skip = "*-*linux_ppc64le *-*linux_riscv64 pp*-macosx_arm64"

[tool.cibuildwheel.linux]
repair-wheel-command = "LD_LIBRARY_PATH=/project/ci/lib64 auditwheel repair -w {dest_dir} {wheel}"
Expand Down
Loading